{{Vim}}模式行

来源:互联网 发布:7天逆回购利率知乎 编辑:程序博客网 时间:2024/06/04 19:12

模式行

转自:http://vimcdoc.sourceforge.net/doc/usr_21.html#usr_21.txt
当你编辑一个特定的文件,你也许为该文件设定了特定的选项。每次键入这些命令很无聊。而在许多人共享一个文件时,利用会话和视图来编辑这个文件也无济于事。 解决这个困境的方法是给文件加一个模式行。那是一行文本,它把一些只适用于该文件的选项设定告诉 Vim。 一个典型的例子是在一个 C 程序中你把缩进值设为 4 的倍数。这就要求把选项'shiftwidth' 设为 4。这个模式行能奏效: /* vim:set shiftwidth=4: */ 把这一行插入该文件起首五行或结尾五行。编辑这个文件时,你将注意到 'shiftwidth'选项已经设定为 4。编辑另一个文件时,它再设回默认值 8。 对于有些文件,模式行放在头部挺合适,所以它应该置于该文件的顶部。对于文本文件和其它那些模式行会影响正文阅读的文件,把模式行放在文件结尾处。选项 'modelines' 规定了要在文件起首和结尾几行之内检查那儿是否包含了模式行。要检查十行: :set modelines=10选项 'modeline' 可以用来撤销这个设定。如果你以超级用户身份 (Unix 的 root 或MS-Windows 的 Administrator) 工作或者你不信任要编辑的文件时应该如此: :set nomodeline模式行可以用这种格式: any-text vim:set {option}={value} ... : any-text 其中 "any-text" 表示你可以在 Vim 实际用到的部分之前和之后加任意文本。这就允许你使它看起来像个注释,正如上例采用了 /* 和 */。 " vim:" 部分使 Vim 识别出这个模式行。在 "vim" 的前面必须有空格,除非 "vim"置于行首。因此像 "gvim:" 这样用法是不行的。 冒号之间的部分是命令 ":set" 。它的用法就跟键入 ":set" 命令一模一样,只除了在命令包含的任何冒号之前需要插入一个反斜杠 (否则该冒号就会被看成模式行结尾)。还有一个例子: // vim:set textwidth=72 dir=c\:\tmp: use c:\tmp here 在第一个冒号之前多一个反斜杠,因此它被包括在 ":set" 命令内。第二个冒号后面的文本则被忽略不计,因此可以在那儿放个注释。欲知详情,参见 |modeline|。

原创粉丝点击