28

我一直在我的 TODO 清单上划掉一些东西。我最近拿起了Colemak。接下来我想学习 Vim 或 Emacs。我倾向于 Vim,但它的好处之一是坚持本垒打。有了Colemak,主排已经改变。我意识到我可以重新映射键,但是将功能分配给不同的字母对我来说并不是很有吸引力(如果字母与其功能之间存在任何关系。我知道运动不相关,但我不确定其余的.)

我不想开始一篇关于文本编辑器的争论文章,而是希望收到来自 Colemak(或 Dvorak)用户关于替代键映射和这两个编辑器的评论。

谢谢

4

8 回答 8

14

我正在使用与Graham类似的设置(上、下、左、右,是 hkjl (Qwerty hnyu)),但不是使用 noremap,而是在我的 .vimrc 中使用 langmap 重新映射:

set langmap=hk,jh,kj

这具有改变使用这些移动键的其他命令(例如 g、z 和 Cw)的额外优势,而无需手动重新定义所有这些命令,即 C-wh 向上移动一个窗口,C-wk 向下移动一个窗口等。

于 2011-04-11T13:33:12.743 回答
11

我最近切换到 Colemak,我也使用 Vim 作为我的主要编辑器。

我可以告诉你,没有必要重新映射移动键 - 或任何其他 Vim 键。你的大脑会很快学会移动键的新位置。对于助记键,绝对不需要重新映射 - 您希望将助记词的含义保留在键后面。

如果您重新映射 Vim 移动键,您将处于无法以任何实际效率操作普通 Vim 的不幸位置 - 例如,如果您需要通过 SSH 连接到服务器。我认为,对于大多数人来说,这比使用没有 Colemak 的计算机要普遍得多。

同样,有一天你可能会得到一些 Vim 插件,这些插件会与你的重新映射发生冲突,或者你有一天会阅读 Vim 提示,了解一项你现在无法使用的功能,因为你已经重新映射了一些东西。

这对你来说将是一个真正的痛苦,所以我不会为任何重新映射而烦恼。

于 2009-12-11T02:05:27.623 回答
8

很高兴看到另一个 Colemak 用户 :)

对于 Emacs,真的不需要重新映射,因为最初的“快捷方式”并不是为了彼此靠近而设计的。如果有的话,在 Colemak 上使用 Emacs 会比在 Qwerty 上更舒服(至少我是这样)。

在 Vim 中,这要复杂得多,因为 hjkl 会完全搞砸。话又说回来,我一直觉得 hlkl 坏了,应该是 jkj;或ijkl,所以重新映射可能是一件好事。以下是 Colemak 论坛上有关 Colemak+Vim 的更广泛讨论:http: //forum.colemak.com/viewtopic.php? id=50

于 2008-11-03T08:41:52.853 回答
7

这在你的 .vimrc 中会改变 Colemak 的光标移动而不影响其他 vim 映射,因为它只影响 h/j/k 字母。

  • up = h(在键盘上标记为“h”)
  • down = k(在键盘上标记为“n”)
  • left = j(在键盘上标记为“y”)
  • right = l(在键盘上标记为“u”)

这是映射:

noremap h k
noremap j h
noremap k j
于 2010-02-03T06:27:14.637 回答
4

我已经和 Dvorak 一起跑了很多年了(大概 4 年左右)。我还使用 vim 的所有标准原因,您必须使用 vim 之类的东西(更少,具有自己的编辑器(visudo 等)的配置编辑等)。Emacs 实际上是我学习的第一个 Unix 程序(我是 Apple 世界的本地人),在被 Yegge 漫无边际地批评它有多棒之后,我现在把它捡回来了。

从严格的键盘布局立场来看,我会说 Emacs 可能是这里的赢家,因为不需要重新映射。除了将 Caps-Lock 键换成 Control 键(实际上应该这样做,Caps-Lock 键就像每个键盘的高中吻痕一样),我想说每个键绑定都更适合与 Dvorak 一起使用而不是与QWERTY。我特别发现经常使用的 Cx 和 Mx 绑定输入起来非常舒服。

不过,vim 真的没什么大不了的。“j”和“k”仍然紧挨着。'h' 和 'l' 至少一方面很方便,并且在主行之上。除此之外,它只是重新映射您脑海中的键,以便在编辑器中执行您希望发生的事情。我个人认为没有任何理由重新映射任何东西,而且我对 RSI 的风险很高(因此转向 Dvorak)。对于像 vim 和 emacs 这样的以键盘为中心的应用程序,我可以舒适地原封不动地使用它们这一事实应该是相当令人印象深刻的。:)

祝你好运!

于 2008-11-04T00:07:52.033 回答
3

我正在使用 Ryan Heise 的 Vim 解决方案:

我想出了“NEST”导航绑定,它保留了上/下导航键的物理位置(左/右不同但仍在主行):

N = 下 E = 上 S = 左 T = 右

设置此命令的命令位于底部的 Colemak 页面上:

http://www.ryanheise.com/colemak/

大多数情况下,这些绑定允许您使用常规的 vim 备忘单来学习命令,当然导航除外。

在 NEST 中分配的 4 个键中,“N”(“n”ext 搜索结果)和“E”(移动当前单词的“e”nd)频繁但被吞噬了。我将它们重新映射回原来的 QWERTY 位置,因此它们是仅有的两个没有原来的逻辑名称的命令。

取自https://forum.colemak.com/topic/50-colemak-vim/p2/#p2514

于 2011-06-09T16:01:18.567 回答
2

我是 vim+qwerty 用户(我尝试学习 dvorak,但事实证明打字速度不是我的速率限制因素,而且我没有 RSI 问题)。只有 vi(m) 中的 hjkl 光标移动键是位置相关的,其他的都是助记符。我在 Colemak 布局上看到,h/l 模糊地向左/向右,但 j/k 向下/向上。尽管如此,我怀疑这将是一个重大的绊脚石。您可以改用箭头键,或者继续使用 hjkl 并处理有趣的位置。

我不会倾向于尝试根据键盘布局重新映射 vim 功能。这对我来说似乎太多潜在的混乱。

于 2008-11-02T09:54:43.207 回答
1

这是以前的帖子,应该对您有所帮助。那里有一些讨论,一些用户不重新映射。有些人会。

实际上,我打算在周末重新映射。在过去的一年里,我一直使用默认映射,使用 Dvorak。

于 2008-10-31T15:08:15.197 回答