Похоже, что-то случилось с моей установкой vim, и я не совсем уверен, что именно. Я долгое время пользуюсь vim (хотя я не использую его в качестве основного редактора).
Когда я ищу:
/foo
Я хочу отредактировать найденное место, поэтому я нажимаю ESC (при подготовке к переходу в режим вставки). vim теперь переходит НАЗАД к тому месту, откуда я начал в файле. Например. если я был в строке 0 файла из 3000 строк, я ищу определенную строку, нахожу ее в строке 1700 и хочу ее отредактировать - ESC возвращает меня к строке 0.
В чем дело? Я случайно не поставил какой-то странный режим? Или я забыл комбинацию горячих клавиш, которую должен знать?
Как это вопрос программирования?
Да, это, вероятно, принадлежит vi.stackexchange.com
ты сказал
so I press ESC (in preparation for getting into insert mode).
вам не нужно нажимать ESC, прежде чем вы сможете перейти в режим вставки, вам нужно нажать enter (известный в vim как <CR>
для возврата каретки).
поэтому, если вы хотите найти foo
и начать вставлять текст, введите
/foo<CR>i
помните, что <CR>
— это однократное нажатие кнопки enter.
Это ожидаемое поведение при включенной опции incsearch
:
Note that the match will be shown, but the cursor will return to its
original position when no match is found and when pressing <Esc>. You
still need to finish the search command with <Enter> to move the
cursor to the match.
Если incsearch
не горит, то курсор вообще не переходит к первому совпадению, он не двигается, пока вы не нажмете <Enter>
.
Мне не нравится этот incsearch, поэтому в vim :set nois отключит его. вы также можете добавить set nois в .vimrc, чтобы сделать его по умолчанию
<esc> отменяет поиск. Вместо этого просто нажмите <cr>.