视口导航不支持重新映射vim方向键

时间:2011-12-17 10:59:04

标签: vim viewport keymapping colemak

我正在使用colemak,因此我重新映射了我的方向键

noremap n h
noremap e j
noremap i k
noremap o l

noremap h n
noremap j e
noremap k i
noremap l o

问题在于视口导航不支持这些键绑定。例如。当我按^w+n时,我想将焦点移到左侧的视口,而是打开一个新的空视口。

如何帮助单独重新绑定所有视口导航键?

2 个答案:

答案 0 :(得分:2)

在colemak论坛上,这个话题有点被人殴打致死:

有许多列出

的链接
  • 键盘映射
  • 插件脚本

我觉得Shai自己的剧本走得太远 - 做的不仅仅是将Colemak整合到vim中(将Cw重新映射到Close标签,例如,显示出对面向标签的编辑的一些偏见,人们抱怨过/独占动作( diw,daB等)不再工作等。)

我认为最好的建议,如前所述,是stick with the defaults并且做:

  

Vim的键盘绑定

     

Vim是一个非常有效的文本编辑器,我用它来编写电子邮件和   编辑任何类型的文本文件。 Vim的命令都是从   键盘:'d'表示删除,'w'表示将光标向前移动一个单词,'dw'表示删除   删除由'w'移动的文本,'2dw'删除两个单词等。   左/下/上/右导航位于QWERTY键H / J / K / L上   打字员的手永远不需要伸手去拿箭头键或鼠标。

     

不幸的是,这些导航键在Colemak下并不那么直观   所以我需要找到一些更合适的映射。经过实验   许多替代品,这是我最终决定的,并且非常满意:

noremap n j|noremap <C-w>n <C-w>j|noremap <C-w><C-n> <C-w>j
noremap e k|noremap <C-w>e <C-w>k|noremap <C-w><C-e> <C-w>k
noremap s h
noremap t l

noremap f e
noremap k n
noremap K N 
noremap U <C-r>

答案 1 :(得分:1)

我认为你必须通过以下方式明确地映射<C-W>窗口导航命令:

noremap <C-W>n <C-W>h
noremap <C-W>e <C-W>j
noremap <C-W>i <C-W>k
noremap <C-W>o <C-W>l

noremap <C-W>h <C-W>n
noremap <C-W>j <C-W>e
noremap <C-W>k <C-W>i
noremap <C-W>l <C-W>o