Когда я ищу в vim, а затем нажимаю «esc», курсор возвращается в предыдущую позицию

Похоже, что-то случилось с моей установкой vim, и я не совсем уверен, что именно. Я долгое время пользуюсь vim (хотя я не использую его в качестве основного редактора).

Когда я ищу:

/foo

Я хочу отредактировать найденное место, поэтому я нажимаю ESC (при подготовке к переходу в режим вставки). vim теперь переходит НАЗАД к тому месту, откуда я начал в файле. Например. если я был в строке 0 файла из 3000 строк, я ищу определенную строку, нахожу ее в строке 1700 и хочу ее отредактировать - ESC возвращает меня к строке 0.

В чем дело? Я случайно не поставил какой-то странный режим? Или я забыл комбинацию горячих клавиш, которую должен знать?

<esc> отменяет поиск. Вместо этого просто нажмите <cr>.

Matt 31.05.2019 07:06

Как это вопрос программирования?

melpomene 31.05.2019 10:20

Да, это, вероятно, принадлежит vi.stackexchange.com

Jonathan Wakely 31.05.2019 10:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
199
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

ты сказал

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, чтобы сделать его по умолчанию

music_piano 04.03.2021 15:46

Другие вопросы по теме