在vim中半工作的Graphviz点行为

时间:2016-01-19 21:52:37

标签: vim graphviz

我在Windows上使用Vim 7.4,而Vim对Graphviz点文件的缩进似乎是半工作。

如果我取消整个文件,突出显示全部,并使用=,所有内容都会缩进。但是当我输入时,一切都会自动进入最左边的列(没有缩进)。

这是一个示例文件,以防我输入错误:

digraph "test" {
    "node1" -> "node2";
    "node2" -> "node3";
}

高亮显示点文件的语法很有效,其他文件(Java,XML等)中的缩进也是如此。

1 个答案:

答案 0 :(得分:1)

这可能是因为您没有设置smartindentcindent

检查

的输出
:set smartindent?
:set cindent?

如果他们分别返回nosmartindentnocindent,则添加

set smartindent

(或set cindent)将解决问题。

来自:h smartindent

  

开始新线时执行智能自动延迟。适用于C类       程序,但也可以用于其他语言。

  1. 那么为什么缩进适用于其他文件类型?这是因为为这些文件类型设置了告诉vim如何缩进给定行indentexpr的特殊函数(编辑java文件时尝试:verb set indentexpr?)。 :h indentexpr
  2.   

    在为| = |创建新行时使用操作员和       在插入模式下,使用'缩进键'选项。       如果此选项不为空,则会取代“cindent”。和       ' smartindent'缩进。

    1. 为什么缩进适用于=?来自:h =
    2.   

      通过外部程序过滤{motion}行               给予' equalprg'选项。什么时候等同于'               选项为空(这是默认值),使用               内部格式化功能| C-indenting |和               |'口齿不清' |。但是当' indentexpr'它不会是空的               改为使用。