网站运营与推广计划书,js素材网站,手工做衣服的网站,高端产品网站使用 Vim 编辑 Shell 脚本#xff0c;在进行调试时#xff0c;需要进行多行的注释#xff0c;每次都要先切换到输入模式#xff0c;在行首输入注释符#再退回命令模式#xff0c;非常麻烦。连续行的注释其实可以用替换命令来完成。 换句话说#xff0c;在指定…使用 Vim 编辑 Shell 脚本在进行调试时需要进行多行的注释每次都要先切换到输入模式在行首输入注释符#再退回命令模式非常麻烦。连续行的注释其实可以用替换命令来完成。 换句话说在指定范围行加#注释可以使用 :起始行终止行 s/^/#/g例如 :1,10s/^/#/g 表示在第 1~10 行行首加#注释。^意为行首g表示执行替换时不询问确认。如果希望每行交互询问是否执行则可将 g 改为 c。
取消连续行注释则可以使用 :起始行终止行s/^#//g例如 :1,10s/^#//g 意为将行首的#替换为空即删除。当然使用语言不同注释符号或想替换的内容不同都可以采用此方法灵活运用即可。添加//注释要稍微麻烦一些命令格式为 :起始行终止行 s/^/\/\//g。例如 :1,5s/^/\/\//g 表示在第 1~5 行行首加//注释因为 / 前面需要加转义字符 \所以写出来比较奇特。以上方法可以解决连续行的注释问题如果是非连续的多行就不灵了这时我们可以定义快捷键简化操作。格式如下 :map 快捷键 执行命令 如定义快捷键 CtrlP 为在行首添加 # 注释可以执行 :map^P l#Esc。其中 ^P 为定义快捷键 CtrlP。注意必须同时按 CtrlVP 快捷键生成 ^P 方可有效或先按 CtrlV 再按 CtrlP 也可以直接输入 ^P 是无效的。 l#Esc 就是此快捷键要触发的动作l 为在光标所在行行首插入# 为要输入的字符Esc 表示退回命令模式。
Esc 要逐个字符输入不可直接按键盘上的 Esc 键。设置成功后直接在任意需要注释的行上按 CtrlP 快捷键就会自动在行首加上 # 注释。取消此快捷键定义输入 :unmap^P 即可。我们可以延伸一下如果想取消文件行首的快捷键则可以设置 :map^B 0x快捷键为 CtrlB, 0 表示跳到行首x 表示删除光标所在处字符。再如有时我们写完脚本等文件需要在末尾注释中加入自己的邮箱则可以直接定义每次按快捷键 CtrlE 实现插入邮箱定义方法为 :map^E asamleeitxdl.netEsc。 其中 a 表示在当前字符后插入samleeitxdl.net 为插入的邮箱Esc 表示插入后返回命令模式。
所以通过定义快捷键我们可以把前面讲到的命令组合起来使用。将快捷键对应的命令保存在 .vimrc 文件中即可在每次使用 Vim 时自动调用非常方便。