我试图让vim中的箭头键无效,以便习惯使用hjkl。
在我的.vimrc
文件中添加了几行代码后,一切都可以正常工作,但插入模式的重新映射没有生效。
nnoremap <Down> :echo "No down for you!"<CR>
vnoremap <Down> :<C-u>echo "No down for you!"<CR>
inoremap <Down> :<C-o> echo "No down for you!"<CR>
nnoremap <Up> :echo "No up for you!"<CR>
vnoremap <Up> :<C-u>echo "No up for you!"<CR>
inoremap <Up> :<C-o>echo "No up for you!"<CR>
nnoremap <Left> :echo "No left for you!"<CR>
vnoremap <Left> :<C-u>echo "No left for you!"<CR>
inoremap <Left> :<C-o>echo "No left for you!"<CR>
nnoremap <Right> :echo "No right for you!"<CR>
vnoremap <Right> :<C-u>echo "No right for you!"<CR>
inoremap <Right> :<C-o>echo "No Right for you!"<CR>
问题是,每次按下一个箭头键,它都会将以下字符串插入到我的文件中:
:echo "No **** for you!
evince
中,j 和 k 键也是滚动 PDF 文档的默认设置。所以这种习惯不仅在 Vim 中有益,而且在其他地方也很有用。为了适应这种习惯,可以尝试一下这个有趣的方式。 - Imran Ali<C-o>
应该在:
之后,因此例如左箭头的正确方式是inoremap <Left> <C-o>:echo "No left for you!"<CR>
。 - dNitronoremap
命令,它会同时影响这两种模式! - Meninx - メネンックス