{{Vim}}模式行

模式行
当你编辑一个特定的文件,你也许为该文件设定了特定的选项。每次键入这些命令很无 聊。而在许多人共享一个文件时,利用会话和视图来编辑这个文件也无济于事。 解决这个困境的方法是给文件加一个模式行。那是一行文本,它把一些只适用于该文 件的选项设定告诉 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|。

vim中,末模式是用来执一些特定的命令的模式。它可以用来查找和替换文本。要在末模式下进查找,可以使用以下命令格式: :/要查找的内容 例如,要在末模式下查找“hello”,可以输入: :/hello 这样,vim会将光标定位到第一个匹配到的“hello”处。你可以按下n键继续查找下一个匹配项,按下N键查找上一个匹配项。如果你想要替换匹配到的内容,可以使用替换命令,例如: :s/要替换的内容/替换后的内容/g 其中,s代表替换命令,g代表全局替换,即替换所有匹配到的内容。你可以在命令中使用正则表达式来进更复杂的查找和替换操作。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [LINUX vim模式操作](https://blog.csdn.net/LYJ_man/article/details/90345080)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [文本编辑器——VI/VIM](https://download.csdn.net/download/weixin_38631738/14061793)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值