[20250706]关于vim定义按键冲突问题.txt
--//关于这个问题,实际上说简单也可以很简单复杂也可以很复杂,比如在windows下的vim由于习惯问题,ctrl+C,ctrl+v还是定义为拷
--//贝和粘贴。ctrl+A缺省定义为全选。这样有可能导致一些按键冲突,而linux下,我经常启动tmux下使用bash shell,而我定义的前
--//缀按键ctrl+A(缺省ctrl+b),当时的考虑ctrl,A挨的比较近,单手就可以完成操作,这样使问题变得复杂一点。
--//拿ctrl+A讲解,实际上vim实际上对应的数字做加法,而windows下的vim定义全选,而linux的tmux下被我定义为前缀键。
--//所以最好重新定义数字做加法的功能。
--//注:ctrl+X 做减法。
--//在windows下,可以利用小数字键盘上的加,减来实现。
noremap <C-kPlus> <C-A>
noremap <C-kminus> <C-X>
--//linux 下,我发现向上面的定义无效。另外我还定义ctrl+x 为水平分割屏幕。
# vertical split
unbind '"'
bind _ splitw -v
bind -n c-x splitw -v
# horizontal split
unbind %
bind | splitw -h
bind -n c-y splitw -h
--//开始修改定义为ctrl+I 做加法,ctrl+d做减法:
noremap <C-I> <C-A>
noremap <C-D> <C-X>
--//测试以为一切正常,实际上具体使用时发现一个问题,ctrl+i按键实际上对应<tab>键,导致按tab键导致该行有数字的地方+1.
--//不小心很难发现自己的错误。
--//最后看了一遍,选择前导字符\比较合适,也避免不必要的冲突。
nnoremap <Leader>a <C-A>
nnoremap <Leader>x <C-X>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3090957/ ,如需转载,请注明出处,否则将追究法律责任。