MacVim: открытие веб-просмотра или отображение всплывающих подсказок, таких как TextMate - PullRequest
0 голосов
/ 10 апреля 2011

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

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

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

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

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

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

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

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

1 Ответ

4 голосов
/ 10 апреля 2011

так что я хотел бы знать, возможно ли выводить команды в html-окно, как TextMate?

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

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

:!open ~/Desktop/test.html

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

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

:!ls

отображает:

:!ls
Desktop         Downloads       Library         Music           Photo Tools     Public          VirtualBox VMs  bin
Documents       Editors         Movies          Music Tools     Pictures        Sites           Web Tools

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

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

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

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

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


EDIT:

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

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

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

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

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

...