是否有人使用硬标签作为缩进字符进行她的vim设置,但确实使用空格进行对齐?我遇到的问题是,当启动一个延续线时
if (condition1 && (anotherlongcondition || /* <-- Here I insert a newline */
|-------|------- whatever /* some additional alignment added automatically */
Run Code Online (Sandbox Code Playgroud)
,然后cin(这是我必须的)增加了一些调整只是我喜欢的方式位置上,但是这对准利用尽可能多的硬标签尽量和填充用空格休息创建(当我试着想象).
因此,简而言之,cin似乎并没有真正区分缩进和对齐.我真的很喜欢上面例子中所有添加的对齐方式都是空格.这样,ts临时切换时可以正确保持对齐.
为了再次说清楚,我希望能够编写以下代码,永远不要按<TAB>或<SPACE>在任何行中的第一个非空白字符前面(并且不做任何手动移动或其他):
void foo(int bar)
{
|-------somestatement;
|-------if (somecondition && (someothercondition ||
|------- whatevercomesnext))
|-------|-------dosomething;
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过ctab.vim,但它专注于编辑带有软选项卡的对齐线,这对我来说似乎很愚蠢,因为手动对齐是一项任务,它提供了一步细化而不是标签宽度步骤细化.我没有改变cin使用混合标签和空格进行对齐的方式.
我没有设法找到任何内置的方法来实现这一目标.也许还有一个?无论如何,我怀疑有一个插件可以做到这一点.虽然我承认自己没有自己编写脚本并且可能没有足够的经验,但我必须说我尝试过的大多数插件都搞砸了我的编辑器配置......
我想用制表符缩进 vim 中的所有内容,但特殊情况除外。例如,我有这个 C++ 代码(其中<tab>是制表符系列,<s>是空格字符系列):
<tab>if(true &&
<tab><s>true)
<tab>{
<tab><tab>//code here
<tab>}
Run Code Online (Sandbox Code Playgroud)
我想在写完 '&&' 并按 'o' 跳到下一行并开始编写以使 vim 放置一个制表符和空格数,直到 '(' 从前一行开始。
是否可以在 vim 中定义这种编码风格?
谢谢!