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
и вставьте вывод в текущий буфер и оставьте курсор под вставленным текстом.