[英]Weird behaviour with psearch (Vim)
所以這是我的.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 這就是我得到的:
實際文件的預覽 windows 打開,我進入替換模式,還有更多奇怪的行為,例如,如果我在插入模式下,我按<Esc><Esc>
並按一些箭頭鍵 vim 插入 D 或一個 U(你可以想象取決於我按的是哪個鍵)
您遇到此問題是因為<C-[>
具有與ESC
相同的鍵碼。
:h keycodes
然后你搜索“esc”,你會發現它們的鍵碼都是27。也就是說,你映射了ctrl-[
,實際上你映射了ESC
。
在 INSERT 模式下,當您按 ESC 兩次時,第一個 ESC 將您帶回 NORMAL 模式,第二個 ESC 觸發您的映射,即:psearch
命令。
此外,當您在正常模式下按 ESC 時,映射也會被觸發。
解決方案也很簡單,不要 map <C-[>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.