gpt4 book ai didi

c - 括号内的缩进而不是 emacs 中的右括号旁边

转载 作者:行者123 更新时间:2023-12-04 11:15:15 25 4
gpt4 key购买 nike

我终于实现了飞跃,离开 Vim 转向 Emacs,我可以说我已经非常高兴了(现在还不是速度......但那会 catch 来的)。

但是,我正在努力弄清楚这件事......

例如,当我在 C 中编写一个 for 循环并添加左大括号时,这就是我得到的结果

code1

然后我按 C-j 展开大括号,这就是我结束的地方。

code2

问题是,我习惯于此结束(我的 vim 就是这样配置的)

code3

但我不知道该怎么做...我刚开始使用 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 variable c-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
}

现在你可以输入fortab,Yasnippet会自动插入

for (; ; ) {

}

并等待您插入字段,完成后将光标留在大括号之间。

关于c - 括号内的缩进而不是 emacs 中的右括号旁边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com