Emacs:括号内的光标位置

Emacs: cursor position inside parenthesis

提问人:ibe 提问时间:11/15/2016 更新时间:3/21/2017 访问量:121

问:

在 Emacs 中,我想通过括号块和光标位置实现类似 IDE 的行为。也就是说,当我键入时,例如,它应该扩展到int main() { RET

int main() {
   I <- cursor position
}

我已经安装了 smartparens 插件来自动插入对,但它不处理光标:

int main() {
I <- cursor position}
emacs的

评论


答:

2赞 Jürgen Hötzel 11/15/2016 #1

考虑使用 Yasnippets,这是一个 Emacs 的模板系统,它预装了很多模板。就您而言:

mainTAB

将扩展到:

int main(int argc, char *argv[])
{
  CURSOR
  return 0;
}
1赞 Drew 11/15/2016 #2

从版本 24.4 开始,您请求的内容在 Emacs 中已经是这种情况。

如果默认情况下尚未启用,则可以通过打开 来启用该行为(Emacs 24.4 或更高版本)。将此内容放入 init 文件中以启用该模式:electric-indent-mode

(when (fboundp 'electric-indent-mode) (electric-indent-mode 1))

但是,您至少需要 Emacs 版本 24.1 才能使用 。它在旧版本中不可用。electric-indent-mode

1赞 ibe 11/15/2016 #3

正如@Drew指出的,我在 Emacs 中查找了不同的电气模式,并发现这完全符合我的需求。electric-indent-modeelectric-pair-mode