Эти причины могут быть разными для каждого конкретного разработчика, но мое предположение:
Можно не иметь доступа к GUI (думаю, что SSH) или просто сила привычки.
Несмотря на то, что я не использую никакую функцию Exclusive для версии GUI (никогда не касаюсь мыши во время редактирования) Я нахожу GVIM более приятным для глаз для рендеринга шрифтов и управления цветом. Таким образом, единственная причина использования версии CLI не имеет доступа к графической среде (вроде при доступе к удаленной машине через SSH). Использование GVIM также позволяет повторно использовать терминал его был вызван без необходимости использовать экран
.
Во избежание (или, по крайней мере, минимизировать) использование мыши.
Как сам большой VIM, хотя я знаю о GUI Vims, я не использую их просто из привычки.
Я использовал VI с 1990 года, перешел на VIM несколько лет назад, но все еще называю это через псевдоним (псевдоним vi = vim).
Для меня это просто привычка. Vim работает хорошо, как это. Возможно, графический интерфейс предлагает больше, и я должен исследовать его, но Vim работает так, как я ожидаю, и хочет этого.
некоторые вариации gvim не могут справиться с Некоторые из моих горячих клавиш
некоторые порождают отдельное окно, когда я пытаюсь для компиляции программы
иногда они просто не могут использовать шрифты. как фиксированный, так и конечный пункт правильно (подумайте о "terminus bold" - некоторые вариации гвима просто растягиваются "конечная норма" вместо рендеринг с отдельным шрифтом)
cli обычно работает быстрее, чем gui, особенно если бежать по-настоящему текстовая консоль (невозможно на однако)
нет почти никаких преимуществ в использовании Версия графического интерфейса, и я бы потерял возможность работать на экране, шшш, чтобы приостановить процесс с ctrl+z, и многое другое.
Основная причина, по которой я использую командную строку, заключается в том, что я провожу большую часть дня в терминале уже, и мое использование VIM отражает это. Я не открываю VIM в течение длительного времени, просто редактируя разные файлы, затем открывая другие, не закрывая его; Я обычно открываю файл или два сделайте несколько редактиций, а затем выполните несколько задач командной строки, может быть, измените каталог и открыть VIM где-то еще. При использовании графического интерфейса при открытии редактора есть существенное отставание. Это не беспокоит меня, если бы я открыл его один раз и оставил его открытым, но я склонен не работать таким образом. Таким образом, командная строка работает лучше для моего рабочего процесса. Кроме того, поскольку нет никакой реальной выгоды.
vim намного эффективнее работает с огромными файлами (в моем случае - 100-500 МБ .csv или .xml).
gvim превосходит vim при сравнении файлов (gvimdiff): установка шрифта (хотите больше контента на экране?), Перетаскивание линии разделения окна (хотите видеть больше одного файла, а не другого) и т. Д. .
Кроме этого, я не видел других отличий и не использовал gvim, кроме как при работе с большими файлами, потому что я считаю его более удобным в графической среде (gnome).
возможность запускать vim
под экраном
обеспечивает
screen
и перемещать их ветви. экран
супер классный. Это также обеспечивает дополнительный уровень буферизации текста, в котором вы можете выполнять поиск по регулярному выражению - это полезно, если вы запускаете команду оболочки длиной в несколько страниц, и вы ищете в ней определенное слово. в дополнение к возможности использовать экран
, консоль vim
обеспечивает лучшую интеграцию с оболочкой. Хотя можно запускать команды оболочки из gvim (опять же, я не уверен, как это применимо к Mac, я парень Linux), есть ограничения. Я редко использую графический интерфейс, поэтому не уверен в точных пределах. Например, удалены цветовые коды ANSI. Меня это раздражает, потому что я склонен таким образом взаимодействовать с SCM, например, выполняю :! git diff --cached
, чтобы проверить изменения в индексе перед фиксацией. Это делает чтение более быстрым и удовлетворительным (ммм, сложно!), Если оно окрашено.
Раньше мне казалось, что gvim
был большим улучшением для просмотра различий, но я изменил цвет фона моего терминала на темный не черный оттенок и установил
: выделить DiffAdd ctermbg = Черный
: highlight DiffChange ctermbg = Черный
: выделить DiffDelete ctermbg = Черный
: highlight DiffText cterm = Полужирный ctermbg = Нет
В результате в режиме сравнения различающийся текст отображается на черном фоне, а неизмененный текст окрашивается в цвет фона терминала. Для параллельных различий это прекрасно работает, так как вы можете сразу сказать на основе другой стороны, является ли данная строка изменением или добавлением; для не-бок о бок вы сможете увидеть неизмененную часть в измененной строке.
Это означает, что вы можете оставить окраску синтаксиса включенной и по-прежнему видеть различия. Опять же, вам нужно иметь возможность установить цвет фона терминала на уникальный, темный, не черный оттенок. Эта возможность доступна в эмуляторах терминала, которые я использую ( yakuake
/ konsole
и roxterm
) и многих других. ^ [? Mac ^ M "mya) ^ O ^ Op
Это также предполагает, что вы используете цветовую схему, предназначенную для использования с темным цветом фона, я использую модифицированный делек
.
Хотя я этого не пробовал, есть также возможность запустить консоль vim
в 256-цветном режиме на терминалах, которые поддерживают этот режим - который, как мне кажется, включает большинство или все современные. служат для того, чтобы сделать большую часть тонкости цветовых схем графического интерфейса пользователя доступной для консоли vim
. ^ ["mp
Мне также нравится, что он живет в том месте, где был запущен, и быстро запускается. Так что, если я перемещаюсь в оболочке по своему обыкновению, я могу редактировать файл, не прерывая этот поток и не передавая эту операцию другому объекту концептуальной недвижимости. Наличие меньшего количества вещей, которые нужно отслеживать, - большой плюс. Возможность вести фоновый процесс тоже полезна, например, если мне нужно захватить содержимое неэкспортированной переменной оболочки через xclip
. Если бы я вместо этого создал окно графического интерфейса, у меня могли бы возникнуть проблемы с запоминанием, где эта оболочка была, или, возможно, уже закрыла ее.
Моя основная причина для с использованием графического интерфейса vim вообще состоит в том, что это имеет несколько больше смысла, поскольку что-то порожденное из графического приложения, например браузера. На практике я никогда этого не делаю и подозреваю, что это довольно эквивалентно просто открывать новое окно терминала с в нем новый консольный vim. Хотя, вероятно, есть некоторые функции управления окнами (оконный менеджер), которые являются эксклюзивными к реализациям GUI. Это очень похоже на обсуждаемый вами вариант использования.
gvim на самом деле это просто базовый эмулятор терминала с запущенным в нем vim и некоторыми меню и кнопками на панели инструментов вверху.
Так что, если у вас уже есть хороший полнофункциональный эмулятор терминала, вы можете использовать его вместо него, поскольку вы будете использовать тот же тип окна терминала, с которым вы знакомы во всех сеансах терминала.
Еще одним преимуществом является то, что он позволяет легко переключиться на оболочку внутри vim, а затем без проблем переключиться.
В Windows я предпочитаю gvim. В Linux это vim внутри gnome-terminal, что приятно и настраивается, спасибо.