我刚为emacs安装了yasnippet软件包,我正在尝试配置代码段。除了一个特殊的snipet之外,一切都很好。
档案:〜/ .emacs.d / elpa / yasnippet-20150212.240 / snippets / cc-mode / while
# -*- mode: snippet -*-
# name: while
# key: while
# --
while (${1:condition})
{
$0
}
问题在于,当我使用片段时,输出如下:
while(condition)
{
}
我通过将原始文件更改为此来检查我是否有正确的文件:
# -*- mode: snippet -*-
# name: while
# key: while
# --
while (${1:condition})
{
$0;
}
(添加了分号),输出结果为:
while(condition)
{
;
}
为什么我的牙套后面有一个标签?
注意:其他一切正常。对于循环工作正常,切换工作正常,类工作正常...只有while循环有问题。有什么想法吗?
答案 0 :(得分:1)
找到答案。对于刚开始使用像我这样的emacs的人来说,这很棘手。
看了here之后,似乎默认的c风格是这样的
if(foo)
{
bar++;
}
所以当我按Tab键使用该片段时,我也自动将代码格式化为默认的c样式。那是" gnu"样式。将其更改为" linux"风格只需添加
(setq c-default-style "linux"
c-basic-offset 4)
到您的.emacs或init.el文件。
更改后的输出:
if(foo)
{
bar++;
}
毕竟它与yasnippet毫无关系。