在vim中编写c ++代码时如何打破长行?例如,如果我有类似
的东西56 fprintf(stderr, "Syntax error reading recursion value on
57 line %d in file %s\n", line_count, filename);
我收到以下编译错误:
:56:25: warning: missing terminating " character
:56: error: missing terminating " character
:57: error: stray ‘\’ in program
:57:37: warning: missing terminating " character
:57: error: missing terminating " character
我是个新手。
谢谢!
答案 0 :(得分:5)
这不是Vim问题,这是一个C问题。
将引号放在一行的末尾,另一行的开头。也许你正在寻找这个:
fprintf(stderr, "Syntax error reading recursion value on "
"line %d in file %s\n", line_count, filename);
...如果你想知道如何将一条长线变为两条,如果你要分割中间字符串,请转到你想要拆分的地方,然后输入'i',然后输入quote-enter -引用。在对齐第二行时,Vim将遵循您的cindent规则。
或者,也许这是一个观点问题?如果你有一个换行符,它会给你一个编译错误。但是,在vim中,可能会使它看起来断线,将set wrap
和set lbr
放在vimrc文件中。查看:help lbr
了解相关信息。还有一种方法可以在线上配置“领导者”,因此您知道它是一个仅限视图的换行符。
答案 1 :(得分:2)
我的建议是不要破坏字符串 -
代替
fprintf (stderr,
"Syntax error reading recursion value on line %d in file %s\n",
line_count,
filename);
答案 2 :(得分:1)
在您要继续的行的末尾添加尾随\。
答案 3 :(得分:1)
就像Billy ONeal一样,我有点困惑,为什么你要问这是一个Vim问题。您需要编写的代码是:
fprintf(stderr, "Syntax error reading recursion value on "
"line %d in file %s\n", line_count, filename);
请注意,没有逗号 - 当您删除额外的空格时,这只是两个字符串文字。它们将合并为一个,我相信这正是你想要的。