Я настраиваю виртуализированные Linux-блоки (в качестве локальных серверов разработки) для разработчиков в компании, основанной преимущественно на Windows, и некоторые разработчики негативно относятся к vim (среди прочего). (Похоже, они каким-то образом представляют Linux / Unix и доказывают, что окружение нелепо сложно использовать.) Я помню, когда я впервые был вынужден использовать vim (системные администраторы отказались устанавливать emacs!) И сложный исходный код. Кривая обучения, так что я несколько сочувствую. Мне пришло в голову, что вместо того, чтобы представить их nano
(которые они, вероятно, никогда не пройдут), можно было бы создать нано-подобные меню в vim, чтобы облегчить переход. (Я нашел для них очень удобный для начинающих файл .vimrc, но он не имеет ничего общего с меню в нано-стиле.)
Единственная проблема - единственное, что мне удалось обнаружить, что утверждения, что можно настроить меню в vim (не gvim), не сработали, а мои попытки исправить проблему просто оставили для меня еще одну проблему, которую нужно решить. Прежде чем тратить много времени, я хотел бы знать, возможно ли это на самом деле, поскольку информации о том, как это сделать, кажется очень мало.
:h console-menus
.Ответы:
Да, это возможно. Вы можете загрузить
menu.vim
(определения меню gvim по умолчанию), или вы можете просто начать с нуля и создать свой собственный, а затем получить к ним доступ через:emenu
. Это не дает вам нано-как всегда видимые меню; это дает вам возможность перемещаться по меню, используя завершение вкладки командной строки.Если у пользователя нет vimrc, начните с отключения совместимости с vi:
Включить смарт завершение командной строки на
<Tab>
(включить список всех возможных вариантов и навигации результаты с<Up>
,<Down>
,<Left>
,<Right>
, и<Enter>
):Сделайте цикл повторных нажатий между всеми соответствующими вариантами:
Загрузите меню по умолчанию (это происходит автоматически в gvim, но не в терминале vim):
После этих четырех команд вы можете вручную вызвать завершение меню, вызвав завершение команды на вкладке
:emenu
, выполнив:emenu<space><tab>
Вы можете перемещаться по результатам, используя клавишу табуляции и клавиши со стрелками, а также клавишу ввода (она расширяет подменю и выбирает элементы). Затем вы можете сделать это более удобным, перейдя на шаг вперед и привязав сопоставление для всплывающего меню без необходимости
:emenu
каждый раз вводить :Сделайте Ctrl-Z в режиме отображения, похожем на
<Tab>
интерактивное нажатие в командной строке:И сделайте привязку, которая автоматически вызывает
:emenu
завершение для вас:источник
У меня была проблема с тем, что я не могу вспомнить все команды и комбинации клавиш для плагинов, которые я использую. Кроме того, я хотел иметь простые способы быстрого выполнения команд без необходимости устанавливать новые сопоставления клавиш или изобретать команды для доступа к ним.
Вим-Venu
Я написал небольшой плагин меню vim, который позволяет вам определять меню для каждого типа файла, который вы можете редактировать с помощью vim. Таким образом, вы можете определить пункт меню «Компилировать» для разных типов файлов и инициировать правильные инструкции для компиляции кода в зависимости от того, какой файл вы редактируете (.py, .c, .c ++, ...). Или создайте подменю для команд плагина «Таблица» в файле уценки.
Проверьте это здесь: https://github.com/Timoses/vim-venu
В качестве примечания: я думаю, что каждый должен выбрать свой любимый текстовый редактор. У Vim есть небольшой барьер (который стоит изучить!). Если кто-то не хочет учиться, то vim не будет для него полезным.
источник