我终于实现了飞跃,离开 Vim 转向 Emacs,我可以说我已经非常高兴了(现在还不是速度......但那会 catch 来的)。
但是,我正在努力弄清楚这件事......
例如,当我在 C 中编写一个 for 循环并添加左大括号时,这就是我得到的结果
然后我按 C-j
展开大括号,这就是我结束的地方。
问题是,我习惯于此结束(我的 vim 就是这样配置的)
但我不知道该怎么做...我刚开始使用 emacs 和 lisp,似乎已经被那个小东西压垮了。我已经映射了一个和弦,所以当我按下 kk
时,我会在当前行上方插入一个空行并正确缩进。所以现在,我所做的是RET kk
,但我希望我的返回键能够自己完成。
最佳答案
您可以使用 c-hanging-braces-alist
配置换行符的插入位置
Hanging Braces
To specify which kinds of braces you want auto-newlines put around, you set the style variablec-hanging-braces-alist
.
例如,将大括号与 for
保持在同一行,并在其后插入一个换行符
(custom-set-variables
'(c-hanging-braces-alist (quote ((substatement-open . (after))))))
另一种方法是使用 Yasnippet并定义一个合适的模板
# -*- mode: snippet -*-
# name: for
# --
for ($1; $2; $3) {
$0
}
现在你可以输入for和tab,Yasnippet会自动插入
for (; ; ) {
}
并等待您插入字段,完成后将光标留在大括号之间。
关于c - 括号内的缩进而不是 emacs 中的右括号旁边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792526/