5.9 Linux Vim批量注释和自定义注释

简介: 使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符”#”再退回命令模式,非常麻烦。

使用 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 快捷键 执行命令

如定义快捷键 "Ctrl+P" 为在行首添加 "#" 注释,可以执行 :map^P l#<Esc>。其中 "^P" 为定义快捷键 "Ctrl+P"。注意:必须同时按 "Ctrl+V+P" 快捷键生成 "^P" 方可有效,或先按 "Ctrl+V" 再按 "Ctrl+P" 也可以,直接输入 "^P" 是无效的。

l#<Esc> 就是此快捷键要触发的动作,"l" 为在光标所在行行首插入,"#" 为要输入的字符,"" 表示退回命令模式。"" 要逐个字符输入,不可直接按键盘上的 Esc 键。

设置成功后,直接在任意需要注释的行上按 "Ctrl+P" 快捷键,就会自动在行首加上 "#" 注释。取消此快捷键定义,输入 :unmap^P 即可。

我们可以延伸一下,如果想取消文件行首的快捷键,则可以设置 :map^B 0x,快捷键为 Ctrl+B, "0" 表示跳到行首,"x" 表示删除光标所在处字符。

再如,有时我们写完脚本等文件,需要在末尾注释中加入自己的邮箱,则可以直接定义每次按快捷键 "Ctrl+E" 实现插入邮箱,定义方法为 :map^E asamlee@itxdl.net<Esc>。其中 "a" 表示在当前字符后插入,samlee@itxdl.net 为插入的邮箱,<Esc> 表示插入后返回命令模式。

所以,通过定义快捷键,我们可以把前面讲到的命令组合起来使用。

将快捷键对应的命令保存在 .vimrc 文件中,即可在每次使用 Vim 时自动调用,非常方便。

目录
相关文章
|
1天前
|
安全 Linux
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
|
1天前
|
Unix Linux
【Linux】详解信号的分类&&如何自定义信号的作用
【Linux】详解信号的分类&&如何自定义信号的作用
|
2天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
10 1
|
3天前
|
数据可视化 Linux Shell
【Linux】开始使用 vim 吧!!!
vim 的操作我只介绍了一部分,还有许多等待大家探索!!!
25 6
|
3天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
4天前
|
JSON Linux 数据格式
【探索Linux】P.32(自定义协议)
【探索Linux】P.32(自定义协议)
21 4
|
5天前
|
Linux Shell 开发工具
【Linux】yum、vim
【Linux】yum、vim
15 2
|
11天前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
|
Linux
Linux下如何同时注释多行/同时取消多行注释
Linux下如何同时注释多行/同时取消多行注释 同时注释多行 1、首先,将光标放在要注释的行首,然后按ESC进入命令行模式; 2、按Ctrl + V进入 VISUAL BLOCK ; 3、按 PgUp/PgDn选择要注释的行; 4、按大写的i进入插入模式; 5、输入//,按ESC保存...
3201 0
|
15小时前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考