MacVim: открытие веб-просмотра или отображение всплывающих подсказок, таких как TextMate

Я начинаю на VIM и пытаюсь понять это немного. В настоящее время я использую TextMate для веб-разработки, поэтому я могу создавать хорошие команды, которые принимают мой текущий документ / выделение и очень быстро отображаются в виде веб-просмотра или отправляют некоторые результаты через всплывающие подсказки.

Я считаю, что более уместно передать этот вопрос в MacVim, поскольку он имеет доступ к элементам графического интерфейса, поэтому иногда это возможно?

" Вывод HTML для команд" - хорошее объяснение.

Поэтому я хотел бы знать, возможно ли выводить команды в окно HTML, как TextMate?

Или мне нужно было бы создать свою собственную программу, которая принимает STDIN и отображать его как вывод html в представлении?

То же самое для всплывающих подсказок?

Я надеялся, что, поскольку у MacVim есть доступ к библиотеке Какао и элементам графического интерфейса, возможно, у него уже может быть какая-то функция, подобная этой?

Извините, если я неправильно понимаю вещи здесь, я действительно чувствую, что это было бы хорошей идеей для миграции, но, очевидно, я хотел бы сохранить хорошие и быстрые инструменты, которые я использую, и при этом не потерять хорошую визуальную привлекательность.

1 ответ

Решение

поэтому я хотел бы знать, возможно ли выводить команды в HTML-окно, как TextMate?

В командной строке vim может выполнить команду, которая сообщит браузеру, что нужно открыть файл, который вы редактируете.

На Mac, используя vim в командной строке или MacVim, если вы редактировали файл с именем "test.html" в буфере и он находился в папке Desktop:

:!open ~/Desktop/test.html

откроет или повторно откроет файл в браузере. Поэтому, когда вы вносите изменения, вы их выдаете, и браузер выходит на первый план с последней версией файла. Вы можете использовать другие параметры, чтобы "открыть", чтобы указать, какой браузер использовать. И вы можете легко добавить нажатие клавиши, чтобы открыть текущий файл, который является "%" в командной строке.

Если вы хотите захватить вывод команды в vim, есть несколько способов сделать это. Если вы выполните команду, vim будет записывать ее вывод во временный буфер для просмотра.

:!ls

дисплеи:

: Ls
Обои для рабочего стола Библиотека Музыка Фото Инструменты Public          VirtualBox VMs  bin
Документы Редакторы Фильмы Музыка Инструменты Картинки Сайты Веб Инструменты

Вы также можете увидеть, что в Command - R похоже на функциональность в MacVim и Vim - Отображение вывода кода в новом окне Textmate?,

Я не уверен, что вы подразумеваете под "подсказками". Обычно это относится к всплывающему тексту на кончике мыши, предлагающему контекстно-зависимую помощь. Вы не можете отправить текст через это, поэтому ваше использование слова сбивает с толку.

MacVim и vim имеют возможность создания фрагментов кода, кроме того, они могут работать со сценариями, могут работать с текстом, который является текущим выделением, и многое другое. Важно понимать, что MacVim - это слой графического интерфейса поверх обычного редактора vim, поэтому есть кое-что, чего он не сделает, потому что движок vim не делает его легким. Меня это никогда не беспокоило, потому что, если мне понадобится определенная функция TextMate, я запусту ее, использую эту конкретную вещь, а затем отскочу назад, если захочу. Но это не так уж часто для меня.

Возможно, вы захотите взглянуть на некоторые связанные темы здесь, в SO, справа на странице, а также взглянуть на некоторые плагины vim, такие как:

Я использую вышеупомянутые все время. Следующие будут скучать, если у меня их не будет.


РЕДАКТИРОВАТЬ:

Захват временного буфера в новый буфер в Vim довольно прост:

:redir @a
:sil !ls -al
:redir end
:vnew
"agp

Вторая строка :sil !ls -al может быть любое выполнение команды. :sil говорит Vim не выводить вывод во временный буфер, вместо этого перехватывает его молча, что избавляет от паузы "Нажать любую клавишу".

:vnew создает вертикальное разбиение с новым буфером в нем. Вы могли бы использовать :tabnew вместо этого, если вы хотите новую вкладку.

"agp говорит ему использовать буфер @a и вставьте вывод в текущий буфер и оставьте курсор под вставленным текстом.

Другие вопросы по тегам