Подтвердить что ты не робот

Как переключиться между режимами команды и вставки в Vim?

Я только начал использовать Vim как IDE. Я использовал его как тестовый редактор какое-то время, поэтому мне не приходилось часто переключаться в режим команд. Но, поскольку я программирую на Java, мне нужно перейти в командный режим, чтобы сделать файл, скомпилировать/запустить его... и т.д.

Проблема заключается в следующем: мне нужен хороший способ переключения между двумя режимами.

Я посмотрел онлайн, и он говорит, что ключ <Esc> должен делать это, но это не работает для меня (может быть, это не для gVim? Не знаю почему.)

Мне нужно нажимать CTRL O каждый раз, чтобы перейти в командный режим; ключ выхода работает из этого режима... он возвращает меня в режим вставки. Но есть ли лучший или простой способ переключения между режимом команды и режимом вставки?

4b9b3361

Ответ 1

Похоже, ваш Vim запускается в удобном режиме. См. :help easy.

Это происходит, когда Vim вызывается с аргументом -y или как evim, или, возможно, у вас есть :set insertmode где-то в вашей конфигурации .vimrc. Найдите источник и отключите его; временно это также можно сделать с помощью Ctrl + O :set noim Enter.

Ответ 2

Нажатие ESC завершает работу в режиме вставки в нормальный режим, где вы можете нажать :, чтобы ввести команду. Снова нажмите i, чтобы вернуться в режим вставки, и вам хорошо идти.

Я не вим-гуру, поэтому кто-то еще может быть более опытным и дать вам другие варианты.

Ответ 3

Это было упомянуто в других вопросах, но ctrl + [ эквивалентно ESC на всех клавиатурах.

Ответ 4

[Использование jj] В моем случае установка .vimrc(или Gvim is_vimrc) ниже;

inoremap jj <Esc>   """ jj key is <Esc> setting

Ответ 5

Существует также еще одно решение для такого рода проблем, которое, по-моему, довольно редки, и вы можете испытать это, если используете vim для OS X Sierra. На самом деле это проблема с кнопкой Esc - не с vim. Например, я не смог выйти из полноэкранного видео на YouTube, используя Esc, но я жил с этим несколько месяцев, пока не столкнулся с той же проблемой с vim.

Я нашел это решение. Если вы достаточно ленивы, чтобы следить за внешней ссылкой, отключить Siri и убить процесс в Activity Monitor.