Лучший графический интерфейс для Vim?

15

Мне нравится использовать vim, его бесконечные возможности и то, как он работает (по большей части). Я использую его и выключаю (не в качестве основного редактора) уже как минимум 7 лет, поэтому, хотя я далеко не эксперт, я обычно знаю, как это сделать.

Теперь, когда мне это нравится в командной строке, мне бы очень хотелось, чтобы он был моим главным редактором в Windows и Linux GUI. Но ... Гвим ... это ужасно . Он нарушает так много правил юзабилити в Windows, что с ним даже не стоит бороться. Даже Крем , с его изменениями и фантазией .vimrc, не спасет день.

Итак, мой вопрос: есть ли современный графический интерфейс vim для Windows и Linux, который делает его похожим на большинство редакторов графического интерфейса? Иметь Sublime Text, Kate, TextMate или графический интерфейс Editra с функциями vim было бы невероятно. Я понимаю , что все четыре (а также множество других редакторов) есть плагины , которые вроде делает их вести себя как Vim, но это далеко не близко (по крайней мере , для Editra и Sublime Text, не уверен , что для других) реального ВИМ.

Поскольку Vim с открытым исходным кодом, я действительно не уверен, почему еще не было полного пересмотра графического интерфейса. Люди не используют гвим?

imiric
источник
15
Лично я использую gVim в Windows именно потому, что он ведет себя так же, как консоль / терминал vimв Unixes.
user1686
1
Было бы полезно узнать некоторые подробности правил юзабилити, с которыми вы обнаружите, что gVim особенно виноват.
RedGrittyBrick
2
Хорошо, вот один: выделение текста в визуальном режиме и прокрутка фактически изменяет выделение. Я понимаю, что это происходит потому, что курсор всегда должен оставаться видимым, и это помогает использовать команду 'o' в визуальном режиме, но это настолько нелогично для стандартных приложений с графическим интерфейсом. Я вижу, что многие люди используют gVim только потому, что он ведет себя как Vim, но почему бы просто не использовать консоль Vim? Настроить среду Linux в Windows и / или использовать хороший терминал, такой как mintty, очень легко.
Имирик
2
Вместо того, чтобы «настраивать среду Linux в Windows», почему бы просто не использовать gVim? Настройка не требуется.
user1686
Вот еще интересная дискуссия о том , современный графический интерфейс для Vim: groups.google.com/group/vim_use/browse_thread/thread/...
imiric

Ответы:

12

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

поэтому я сомневаюсь, что найдется какая-нибудь графическая версия vim, которая соответствует вашим ожиданиям того, как должен выглядеть или должен вести себя приличный «графический» редактор.

Акира
источник
3
или вы просто выучите 100% vim и покончите с проблемой редактора до конца времени :)
akira
3
Есть / есть причины использовать gVim вместо Vim только в консоли. Два примера: 1) Существуют мета-комбинации, которые Vim не видит, кроме как в графическом интерфейсе, из-за ограничений в эмуляторах терминалов и библиотеках обработки терминалов. 2) Значительно расширенная поддержка цвета. Тем не менее, я думаю, что крайне несправедливо ожидать, что Vim вдруг будет вести себя как любое другое приложение с графическим интерфейсом только потому, что у него есть графический интерфейс. Vim, вероятно, всегда будет нарушать правила юзабилити, иначе Vim больше не будет. Если это не то, что вы хотите, я должен повторить другим: найти другой редактор.
Гептит
5
@imric: Когда я говорю, что «это больше не будет Vim», я имею в виду, что это больше не может быть Vim и «соответствовать» в режиме GUI. Vim - улучшенный клон vi, и vi существовал до появления GUI. У него очень уникальный пользовательский интерфейс, и да, это вступает в противоречие с текущими рекомендациями по юзабилити GUI. Чтобы получить (все) то, что вы хотите, вы запрашиваете редактор, который действительно, действительно, не ведет себя так, как предназначено для работы vi / Vim. Одно из правил, которое Брэм Муленар (создатель и владелец авторских прав Vim) имеет для Vim, - это, насколько это возможно, консоль и графический интерфейс Vim, которые должны вести себя одинаково.
Гептит
3
@imric: почему вы вообще хотите использовать vim, если не для его "высокомерного и несправедливого" интерфейса? я имею в виду, это vim .. вы используете его, потому что он делает работу так же, как и в emacs. как я уже сказал: если инструмент конфликтует с тем, что вы хотите: используйте другой инструмент.
Акира
2
Лично мой GVim настроен так, чтобы он выглядел точно так же, как мой Vim, поэтому у меня нет меню, полос прокрутки, одинаковых шрифтов / цветов ... Единственная причина, по которой я иногда использую GVim вместо Vim, - это когда я использую мышь и колесо, чтобы свободно перемещаться по некоторым файлам (например, когда я пью кофе или пиво). Это не часто случается, но все же иногда. Я не могу себе представить, почему нужно Vim, который не ведет себя как Vim. Лучше использовать другой редактор, который был разработан с учетом GUI.
Cedbeu
7

Я согласен с ответами и комментариями Акиры.

Единственный дружественный графический интерфейс для Vim - это MacVim, который, очевидно, является приложением только для Mac.

Я не уверен, что это «лучшее из обоих миров», но последняя бета-версия Sublime Text 2 имеет очень впечатляющий «винтажный» режим, который охватывает множество полезных функций Vim (движения, текстовые объекты) и отображает другие вещи ( /или ?например) с его нативными возможностями. Я нахожу его общий дизайн немного раздражающим, поэтому я не собираюсь переключаться на него в ближайшее время, но, опять же, винтажный режим впечатляет.

romainl
источник
1
Да, у MacVim гораздо лучший графический интерфейс Vim. Но из того, что я понимаю, потребовалось немало усилий, чтобы он выглядел безупречно в OS X, а gVim - это чудовище, которому уже несколько десятилетий, который практически не обновляется. Я пробовал режим Vim Sublime Text, и хотя он реализует многие команды перемещения и вставки, он все еще не работает.
Имирик
В MacOS X хорошие и согласованные пользовательские интерфейсы имеют первостепенное значение, в то время как в Linux и Windows это никого не волнует. Вот почему это имело значение для людей, стоящих за MacVim, и они прошли тяжелую работу, которая требовалась. Но задача, вероятно, была не такой сложной из-за установленных руководящих принципов / традиций / обычаев и того, как они реализуются с помощью официальных инструментов разработчика. На этом столе Linux, мои приложения имеют по крайней мере 2 способа имени главного меню ( «Файл» или какое - то слово , связанное с функцией приложения) и , по меньшей мере , 4 ярлыков для «Выхода» / «Закрыть окно» ( <C-q>, <S-C-q>, <C-w>, :q...) , Я знаю…
Ромен
… Во-первых, это в основном то же самое на окнах. Я думаю, что трудно придумать отточенный и хорошо интегрированный опыт в такой грязной среде без какого-либо денежного стимула или авторитарного руководства. Хорошо, извините за напыщенную речь, вернемся к обычному графику
Ромен
2

Вы можете получить плагин для IDE, который дает ему комбинации клавиш VIM. НАПРИМЕР

Вот очень классная веб-IDE для веб-разработчиков, включающая git, в которой встроен режим привязки клавиш VIM:

В противном случае, я занимаюсь разработкой на Mac, и я большой поклонник MacVim, и я согласен с тем, что gVim очень уродлив в * nix, и мне не по себе, когда мне нужно запустить vim в оболочке ssh на сервере.

Что касается VIM, как редакторы, которые не являются отдельной IDE, другое (только Mac, извините) приложение с графическим интерфейсом:

Томас Хантер
источник
Спасибо за ваши предложения, но я решил придерживаться консоли Vim для всех моих потребностей в разработке, вместо того, чтобы бороться с gVim. У меня уже есть открытая оболочка, у меня просто есть другое окно tmux, на котором запущен Vim, и это делает переключение между редактором на оболочку и обратно очень быстрым и удобным. Кроме того, в консоли не нарушаются правила юзабилити. :-) Я думаю о переходе на Mac в ближайшее время, и попробую MacVim.
Имирик
2

Ты можешь использовать VisualStudio Code, и он имеет несколько плагинов, которые добавляют многие функциональные возможности Vim наряду со многими вкусностями. Это очень хороший редактор, кроме того, он открыт и бесплатен, и у него есть версии для Windows, MacO и Linux.

Марко Сантана
источник
1
Если вы заядлый фанат Vim, вам, вероятно, не понравится какой-либо из плагинов VS Code Vim.
1

Если вы используете технологию доступа, такую ​​как программа чтения с экрана, и хотите использовать vim power, вы можете попробовать мой проект: https://code.google.com/p/phonim/ он использует сценарии JAWS и интерфейс OLE gVim. Хотя и выполнимый, он оставляет желать лучшего, но даже этот ограниченный доступ к мощности vim стоит того.

Чтобы улучшить ситуацию для gVim, все, что требуется, - это для кого-то, кто знает, как наделить серверную часть vim современным пользовательским интерфейсом пользовательского интерфейса компонентом редактора, который имеет надлежащую поддержку UIAutomation и MSAA.

Kerneels Roos
источник
Нет проблем, отредактировал. Да, немного напыщенная речь, но вы видите, я люблю vim и очень хотел бы, чтобы больше людей получало от этого пользу :-).
Kerneels Roos
1

Vim предназначен для использования без графического интерфейса. Но если вас беспокоит строка меню и панель инструментов в gvim, это выглядит неуместно. Вы можете отключить его, просто вставив

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

в ваш vimrc тогда он исчезнет. на бонус, если вы используете Windows ниже 10, ваш gvim изменился лучше (чем Windows cmd по умолчанию) и имеет лучшую поддержку цветовой схемы и выглядит хорошо.

user93
источник
1

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

vimist
источник