Какие дополнительные функции предлагают gVim и / или MacVim по сравнению с Vim в эмуляторе терминала?

23

Я учу Vim, смотря скриншоты. И мне интересно, почему многие люди используют gVim или MacVim?

Из того, что я вижу, версия GUI Vim имеет только дополнительные функции, связанные с использованием мыши. Но разве это не против "философии Vim"?

Кто-нибудь может объяснить, какие дополнительные функции предлагает версия GUI Vim по сравнению с терминалом Vim?

Аарон Шен
источник
Gui vim допускает более 256 цветов, а также другое форматирование текста, так что это может быть ничья. Я лично не понимаю, почему люди предпочитают gui vim, так как терминал vim удобнее. Но это мое мнение.
EvergreenTree

Ответы:

27

Некоторые функции, которые будут работать только с gVim:

  • Поддержка 24-битного цвета из коробки (чтобы получить такое же количество цветов в терминале vim, вам нужно немного больше постараться, посмотрите на это и на это ). Для истинного курсива то же самое верно (см. Это и это ). Обратите внимание, что вы должны использовать шрифт, который поддерживает настоящий курсив.
  • Некоторые другие более продвинутые графические функции, такие как «волнистые линии» для проверки правописания, более гибкие формы курсора и т. Д. Терминал может выполнять только «блоки символов с одним пробелом».
  • Включает поддержку мыши , если в противном случае остается один (включая перетаскивание для файлов). Terminal Vim также может справиться с мышью, но не перетаскивать.
  • Предлагает приятную, настраиваемую систему меню, в которой для каждого параметра указана соответствующая команда Vim.
  • gVim может предложить вам полосы прокрутки, которые прокручивают буфер Vim (а не прокрутку терминала).
  • Вы можете иметь всплывающие «воздушные шары» (он же «всплывающие подсказки»).
  • Имеет встроенную поддержку шрифтов .
  • Некоторые сочетания клавиш работают из коробки с gVim, как CTRL+ Space, Meta+ e... в то время как в другом случае они требуют дополнительной настройки терминала.

Во- вторых, даже если вы предпочитаете использовать Vim, установка версии GUI может предложить больше возможностей во время компиляции , чем версия без, по крайней мере , в некоторых дистрибутивах (например , как clipboardи clientserverподдержка в системе Debian на базе в vim-noxVS vim-gnome).

Кроме того, в Windows размер окна gVim можно изменить легче, чем в окне консоли Vim.

Вещи, которые gVim не делает:

  • gVim не является (полным) эмулятором терминала, поэтому запуск внешних программ, использующих множество функций терминала, будет работать не очень хорошо. Например, попробуйте использовать :!vim, :!muttили :!irssiиз gVim, или нажмите Kна слово (которое по умолчанию открывает страницу руководства для этого слова). Также посмотрите это .
муру
источник
1
Обычный vim также более удобен, если вы собираетесь много использовать SSH, так как он может быть помещен в tmux или screen и не требует поддержки X11 ни на одном конце.
Кевин
на самом деле, у gvim есть терминал, включенный в один из более поздних патчей 8.0. Таким образом, вы можете запустить терминал и иметь возможность запускать в нем интерактивные программы.
Кристиан Брабандт
1
Меню, безусловно, лучше и более интегрированы в GUI vim, но они существуют и могут использоваться в консоли vim. Нужно исходить, menu.vimа затем, вероятно, использовать set wildmenuи :emenu <Tab>ориентироваться в манере, напоминающей ... ну, меню.
brhfl
@brhfl Я бы сказал, что "едва ли" можно использовать вместо этого.
Муру
@ChristianBrabandt сообщество вики! Идите вперед и отредактируйте его. :)
Muru
4

Я просто могу говорить о gVim. Помимо базовых различий, я обнаружил, что использование gVim вначале мне очень помогло при изучении основных команд (например, одного способа копирования выделенного текста в буфер обмена с помощью «+ y») путем чтения каждого из ярлыков, отображаемых в меню. Звучит глупо, но вам действительно нужно потратить некоторое время на просмотр меню, и не просто щелкнуть по элементу, а на самом деле проверить ярлык, который он показывает.

Хавьер Скаппини
источник
4

Некоторые из нас застряли на земле Windows, поэтому опции терминала менее удобны.

В проводнике Windows вы можете щелкнуть правой кнопкой мыши файл и сразу открыть его с помощью gVim. Это намного проще и быстрее, чем открывать терминал (cygwin или любой другой), переходить в каталог и перемещать файл.

(На моем рабочем ПК gVim и MinGW bash покрывают большинство моих потребностей в редактировании)

roblogic
источник
Это также работает для мира Linux. Если вы хотите открыть файл в vim напрямую из nautilus, gvim доступен, а vim - нет.
kuldeep.kamboj
@ kuldeep.kamboj Это просто вопрос настройки Nautilis; Вы можете использовать xterm -e vim %или что-то подобное ...
Мартин Турной
1
Именно поэтому я gVimустановил. Терминальные шрифты Windows заставляют ваши глаза кровоточить.
Шахбаз
1

Чтобы добавить тривиальную вещь: при использовании gvim в списке окон моего рабочего стола отображается приятный символ Vim, а не символ Xterm, что упрощает переключение в редактор, если открыто много xterms.

PhilippFrank
источник
2
Вы можете поменять иконку окна с помощью xseticon:-)
Мартин Турной
1

Одним из важных моментов для меня, который продолжает заставлять меня использовать стихи MacVim только терминал + vi, является скорость. У меня есть всевозможные плагины vim, языковые подсказки и средства проверки синтаксиса, которые на удивление перегружают терминал vi, в то время как скомпилированный бункер MacVim прекрасно обрабатывает весь этот синтетический сахар.

Дэн Шумейкер
источник
0

Изменение формы курсора в зависимости от режима (например, Normal vs Insert) очень хорошо работает с gVim. Это должно работать при использовании vim в терминальной программе, такой как Konsole, но я никогда не видел, чтобы это работало.

Джон Шмитт
источник
Я не склонен использовать особо причудливые эмуляторы терминала в Linux, но могу подтвердить, что он очень хорошо работает в mintty / cygwin и iTerm2 на Mac.
brhfl