首页 > 代码库 > 改进Vim体验:在插入模式下移动光标,我不要用方向键!alt快捷键使用技巧!

改进Vim体验:在插入模式下移动光标,我不要用方向键!alt快捷键使用技巧!

 改进Vim体验:在插入模式下移动光标,我不要用方向键!alt快捷键使用技巧!

大家都知道,我们在插入模式下编辑代码的时候

若想写完这一部分后,移动到邻近的一部分,如下一个单词的后面,是很复杂的

‘\eea’?还是’方向键*n’?虽然这也没什么复杂的,特别是参照我前面一篇文档,\e(esc)只需要按下alt-;

但有没有更方便的方法呢?我要告诉大家,有,插入模式下的alt快捷键重映射!

如下设置按键码

;设置按键码判断时间;这个时间和组合键判断时间不同哟!只需要设置一次
:set ttimeout ttimeoutlen=50
;设置按键码<M-e>的按键组合为\ee;\e代表esc
:exec "set <M-e>=\ee"
;重映射<M-e>为<esc>ea
:inoremap <M-e> <esc>ea

这样就可以在插入模式下使用alt-e来完成将光标移动到下一个单词后这个操作!方便吧!

将以下这段插入~/.vimrc中就可以用alt-w\W\e\E\h\j\k\l这几个快捷键了

inoremap <M-j> <esc>ja
exec "set <M-j>=\ej"
inoremap <M-k> <esc>ka
exec "set <M-k>=\ek"
inoremap <M-h> <esc>ha
exec "set <M-h>=\eh"
inoremap <M-l> <esc>la
exec "set <M-l>=\el"
inoremap <M-W> <esc>Wi
exec "set <M-W>=\eW"
inoremap <M-w> <esc>wi
exec "set <M-w>=\ew"
inoremap <M-E> <esc>Ea
exec "set <M-E>=\eE"
inoremap <M-e> <esc>ea
exec "set <M-e>=\ee"
set ttimeout ttimeoutlen=100

 
按照这个原理,各种模式下各种快捷键的设置方式也一样的呢

参考:Vim中如何正确使用 Alt映射

改进Vim体验:在插入模式下移动光标,我不要用方向键!alt快捷键使用技巧!