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


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

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

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

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

7 70

7 ответов:

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

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

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

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

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

используя jj

В моем случае .vimrc (или в gVim он находится в _vimrc) параметры ниже.

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

исходя из emacs я обнаружил, что мне нравится ctrl + ключи, чтобы делать вещи, и в Vim я обнаружил, что оба [ctrl + C] и [alt + backspace] войдет в нормальный режим из режима вставки. Вы можете попробовать и посмотреть, если любой из них работает для вас.

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

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

вы можете использовать Alt+H,J,K,L для перемещения курсора в режиме вставки.