簡體   English   中英

psearch 的奇怪行為 (Vim)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM