我一直在我的待办清单上划掉任务。最近我开始学习Colemak, 接下来我想学习Vim或Emacs。我倾向于学习Vim,但它的一个好处是可以固定在主键区,而随着使用Colemak,主键位置已经改变了。我意识到我可以重新映射键,但把功能分配给不同的字母对我来说并不非常吸引人(如果字母和它们的功能有任何关联的话,我知道移动没有相关性,但其他方面我不确定)。
我不想发表关于文本编辑器的争议性帖子,而是想听听Colemak(或Dvorak)用户对这两个编辑器的替代键位的看法。
谢谢
我一直在我的待办清单上划掉任务。最近我开始学习Colemak, 接下来我想学习Vim或Emacs。我倾向于学习Vim,但它的一个好处是可以固定在主键区,而随着使用Colemak,主键位置已经改变了。我意识到我可以重新映射键,但把功能分配给不同的字母对我来说并不非常吸引人(如果字母和它们的功能有任何关联的话,我知道移动没有相关性,但其他方面我不确定)。
我不想发表关于文本编辑器的争议性帖子,而是想听听Colemak(或Dvorak)用户对这两个编辑器的替代键位的看法。
谢谢
我正在使用与Graham类似的设置(上、下、左、右键分别对应 Qwerty 键盘的 hkjl),但我在我的 .vimrc 文件中使用 langmap 进行重映射,而不是使用 noremap:
set langmap=hk,jh,kj
这样做的优点是可以改变使用这些移动键的其他命令(例如 g、z 和 C-w),而无需手动重新定义所有这些命令,即 C-wh 上移窗口,C-wk 下移窗口等。
我最近切换到了 Colemak 键盘布局,并将 Vim 作为我的主要编辑器。
我可以告诉你,没有必要重新映射移动键 - 或者 Vim 的任何其他键。您的大脑会很快学会移动键的新位置。对于助记键,绝对不需要重新映射 - 您希望保留键背后的助记含义。
如果您重新映射 Vim 移动键,则会陷入不幸的境地,无法以任何真正的效率操作基本的 Vim - 例如,如果您需要 SSH 到服务器。我认为对于大多数人来说,这比使用没有 Colemak 的计算机要常见得多。
此外,您可能会遇到与您的重新映射冲突的 Vim 插件,或者有一天您将读到关于 Vim 的提示,而由于您已经重新映射了某些内容,现在无法使用该功能。
这会让您感到非常麻烦,所以我不建议进行任何重新映射。
hjkl
)。这个手指是最强壮和最有能力向上或向下伸展的。自从我写了这个答案以来,我已经使用Colemak的Vim 12年了,并且没有关于hjkl
的任何手部压力问题。大多数情况下最好使用其他导航方式,例如f
、t
等。其他Unix程序,如less
也使用j
/k
向上和向下滚动 - 最好保持一致性。在我看来,重新映射键位并不是一个好主意。 - asgeo1在你的 .vimrc 文件中添加以下内容可以改变 Colemak 键盘的光标移动方式,而不会影响其他 vim 映射,因为它只影响 h/j/k 字母。
以下是映射:
noremap h k
noremap j h
noremap k j
nnoremap <F1> <Esc>:nnoremap h k<CR>:noremap j h<CR>:noremap k j<CR>
<br /> nnoremap <F2> <Esc>:nnoremap h h<CR>:noremap j j<CR>:noremap k k<CR>
<br /> 将其添加到你的~/.vimrc中,然后F1/F2将在qwerty/colemak移动键之间进行切换。如果你是指交换键盘布局,而不仅仅是Vim映射,那么也应该有一个(依赖于操作系统)的解决方案;-) - jabirali我已经使用Dvorak键盘布局运行了一些年了(大概 ~4 年)。我也使用vim,原因是像其他人一样必须使用vim,如less、配置编辑器(visudo等)。Emacs实际上是我学习的第一个Unix程序(我是苹果世界的原住民),并且在被Yegge的胡言乱语抨击了多么令人惊叹之后,我目前重新开始使用它。
从严格的键盘布局角度来看,我认为Emacs可能是赢家,因为不需要重新映射。除了将Caps-Lock键与Control键交换位置(这确实应该做到,Caps-Lock键就像每个键盘的高中吻痕一样),我会说与Qwerty相比,每个键绑定都更舒适使用Dvorak。我特别发现经常使用的C-x和M-x绑定非常舒适易打。
然而,vim真的没什么大不了的。'j'和'k'仍然紧挨在一起。'h'和'l'至少方便地位于一只手上并且在主键盘区域上方。除此之外,它只是关于在你的头脑中重新映射按键以执行你想要的编辑器操作。我个人不认为有任何理由重新映射任何内容,而且我很容易患上RSI(因此转向Dvorak)。对于像vim和emacs这样的键盘中心应用程序,我可以舒适地使用它们而不需要改变键位,这应该是相当令人印象深刻的。:)
祝好运!
我正在使用Ryan Heise的Vim解决方案:
我想出了“NEST”导航绑定,它保留了上/下导航键的物理位置(左/右不同但仍在主键盘行):
N = 向下 E = 向上 S = 向左 T = 向右
设置这个的命令在我的Colemak页面底部:
http://www.ryanheise.com/colemak/
大多数情况下,这些绑定允许您使用常规的vim命令表来学习命令,当然除了导航。
在N-E-S-T中分配的4个键中,“N”(“n”ext搜索结果)和“E”(移动当前单词的“e”nd)是频繁但却被吞噬的。我将它们重新映射回它们原来的QWERTY位置,所以它们是唯一没有原始逻辑名称的两个命令。