Emacs:如何像在gedit中一样输入命令

5
在gedit中,可以定义所谓的“片段”以便更简单地输入内容。
例如,有一个名为while的片段。这意味着:如果您键入while ->(其中->代表Tab键),gedit会自动将其转换为以下内容(包括正确的缩进):
while (condition){

}

在使用 latex-suite 插件的 vim 中,我遇到了以下情况:如果您键入 (,vim 只会插入一个 (。如果您再次键入 (,vim 会自动将其转换为 \left( \right)

我找到了 abbrev-mode,但这个模式不会正确地放置光标(例如,在括号之间或 while 循环内部)。

我设法创建了定制的 Emacs 快捷键/宏,可以做到同样的事情(无需按 tab 键),所以我知道这是可能的。

然而,是否已经有软件包可以轻松定义此类“片段”?或者甚至还有任何严重的原因不使用此类东西吗?

3个回答

8

请参考yasnippet。它提供了大多数主要语言的代码片段,并且很容易添加新的或修改旧的。


谢谢。我会看一下的。 - phimuemue

3
是的,yasnippet可能是最好的选择。但是请确保学习您用于编辑的主要模式 - 在编写LaTeX时,请学习auctex。主要模式可以包含使某些片段无意义的功能,并且可以更好地执行相同的操作。因此,在LaTeX缓冲区中不要使用begin/end-snippet,请尝试在auctex中使用C-c C-e。等等 :)

+1 表示主要模式已经具备了多少功能,这使得一些代码片段比学习相关的按键和组合更加繁琐。 - semperos

1

不要忘记 abbrev-mode。


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