学习emacs - 有用的记忆提示?

17
有没有什么助记符或模式可以使记忆emacs键绑定更容易?

1
使用命令是学习Emacs的唯一途径。记忆任何东西都不会有所帮助,因为命令太多了。 - pmr
1
有太多的命令正是模式可能有用的原因。 - user65663
2
M-/ - 你从未听说过的最有用的Emacs命令 - Nemo
6个回答

20
好的,主要的重点如下:
  • C-k:删除一行并将其保存在缓冲区中,C-y:从缓冲区中恢复删除的内容。
  • C-s:搜索。
  • C-h:帮助。
  • C-t:交换两个字符的位置。
  • C-p:上一行。
  • C-n:下一行。
  • C-f:向前移动一个字符。
  • C-b:向后移动一个字符。
  • C-e:光标移到行末。
  • C-a:字母表中的第一个字母是a,所以表示移到行首。

除此之外,我大多数时候使用箭头键、鼠标、菜单或一组特定的命令。少数例外情况(例如:宏的创建和使用)我几乎都是靠肌肉记忆学会的。


1
另一个非常有用的功能:在许多编程语言中,“块”由{}表示,M-}和M-{向前和向后移动块。 - Justin Smith
1
感谢 Trey 添加了 "<kbd>" 标签,从而间接向我展示了这个技巧。 - T.E.D.
1
你也可以使用德语单词“Anfang”(意为“开始”)来记忆C-a。 ;) - einjohn
2
@einjohn - 或土耳其语单词“Ata”(祖先),或拉丁语“Ante”(之前),或任何以“A”开头的罗曼语系后代。但是,我的语言是英语,所以我记得它是字母表的前面。 - T.E.D.
1
当我按下还没有在我的肌肉记忆中的快捷键时,我倾向于对自己说话。在这样做时,“字母表前面”的感觉有点笨拙。这就是为什么我喜欢简单的词语。然而,我喜欢拉丁词的提示。所以,谢谢。 :) - einjohn
很容易记住“注释此”键绑定——在Emacs的本地Lisp中,“;”是注释字符,因此M-;将在任何语言中切换注释。 - Captain Midday

19

关于模式,是的,有非常明显的模式出现在各个地方。

C-f 表示向前移动一格
M-f 表示向前移动一个单词
C-M-f 表示向前移动一个句子/表达式

C-b 表示向后移动一格
M-b 表示向后移动一个单词
C-M-b 表示向后移动一个句子/表达式

这个模式是 C- 适用于最小单位(字符),M- 适用于下一个较大的单位(单词),C-M- 适用于最大的单位。 对于程序而言,单位是字符、单词和S-表达式(sexps)。


3
还有一个Emacs发行版,叫做Spacemacs,它重新构建了按键序列,以更易于记忆。
几乎每个快捷键都以SPC开头,启动序列,然后是更多的单个按键,选择上下文,然后是实际命令;例如,SPC f s 保存文件,或者 SPC f S 保存所有文件。
其他上下文示例包括:
  • b 表示buffer,
  • w 表示window,
  • s 表示search,
  • x 表示text manipulation。还有更多
看起来非常有条理。
不幸的是我没有使用过它,也不知道您是否必须使用Spacemacs,或者从其配置中如何轻松地进行移植 还有一点要注意:它宣传为Emacs和Vim的最佳结合,但您不需要使用vim editing-style

2
不要死记硬背,而是应该灵活运用。

3
是的。要么去做,要么不做。没有尝试这回事。 - Brian Postow

1
如果我需要记住像"C-c M-j = cider-jack-in"这样的东西,我会想象在酒吧里Craig Charles和Michael Jackson,Craig Charles点了第一轮饮料“cider and jack”。

0

最常见的一些在emacs教程中有详细说明--C-h t。仔细从头开始阅读,即使你没有完全读完,它也应该帮助你更好地记住最常用键背后的原理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接