Странное поведение с psearch (Vim) - PullRequest
1 голос
/ 22 февраля 2020

Так что это часть моего .vimrc

" Mapping
nnoremap <F3> :cclose<cr>
nnoremap <F4> :w <bar> !cd ../build; make<cr><cr>:cw<cr>
autocmd filetype cpp nnoremap <F6> :Termdebug %:r<CR><c-w>2j<c-w>L
nnoremap <F12> :!cd ..; !ctags -R 
"nnoremap <C-[> :psearch <C-R><C-W><CR>
nnoremap <C-H> <C-W>h
nnoremap <C-J> <C-W>j
nnoremap <C-K> <C-W>k
nnoremap <C-L> <C-W>l
inoremap <C-H> <Left>
inoremap <C-J> <Down>
inoremap <C-K> <Up>
inoremap <C-L> <Right>
nnoremap <esc><esc> :silent! noh<cr>
inoremap " ""<left>
inoremap ' ''<left>
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O

Как вы видите, у меня есть комментарий, который, как мне кажется, вызывает у меня некоторые проблемы. Когда это не прокомментировано, и я открываю vim, вот что я получил:

screenshot

Предварительный просмотр windows фактического файла открыт, и я попадаю в режим замены, также там это более странное поведение, например, если я нахожусь в режиме вставки, и я нажимаю <Esc><Esc> и нажимаю какую-то клавишу со стрелкой vim, вставляя D или U (как вы можете себе представить, зависит от того, какую клавишу я нажимаю)

1 Ответ

1 голос
/ 23 февраля 2020

У вас есть эта проблема, потому что <C-[> имеет тот же код ключа, что и ESC.

:h keycodes

затем вы ищете "es c", вы обнаружите, что оба имеют код ключа 27. То есть, вы сопоставили ctrl-[, фактически вы сопоставили ESC.

В режиме INSERT, когда вы дважды нажали ES C, первый ES C возвращает вас в НОРМАЛЬНЫЙ режим, а второй ES C запускает отображение, команда :psearch.

Также, когда вы нажимаете ES C в обычном режиме, отображение также будет запущено.

Решение также простое, не отображайте <C-[>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...