Linux系统--文本编辑器vim的使用技巧
1 导入命令执行结果
:r !命令
(1):r filename 导入文件内容示例:
:r sophia
表示将文件名为sophia的文件内容导入到当前vim所编辑的文件中,导入的位置为当前光标所在的位置。(2):!命令 在不退出vim的情况下执行相应的操作命令
示例:
:!which ls
表示查询ls命令在哪个目录下。(3):r !命令 把命令的执行结果导入到当前vim所编辑的文件中
示例:
:r !date
表示把查询到的当前系统时间导入到当前vim所编辑的文件中的光标所在位置。2 定义快捷键
:map 快捷键 触发命令
范例:
:map ^p I#<ESC> 定义一个添加注释的快捷键。
表示定义快捷键“Ctrl+P”,代表的功能为:在光标所在行的行首进入插入模式,插入一个字符“#”,然后退出到命令模式。在编辑配置文件的时候如果需要将一些内容进行注释,通过设置此快捷键将会很方便,可以随时在命令模式下实现给任何一行添加注释符。
注意:这里的“^P”并不是简单的指键盘上的符号“^”和字母P的组合,而是先按“Ctrl+V”,得到一个“^”,再按“Ctrl+P”,或者同时按“Ctrl+V+P”得到“^P”的显示效果。
那么,如果要取消注释符,可以设置如下所示的快捷键:
:map ^B 0x 定义一个取消注释的快捷键。
表示定义快捷键“Ctrl+B”,代表的功能为:将光标定位到所在行的行首,然后删除行首光标所在处的第一个字符,也就是删除注释符“#”。同样的,如果我们想要在编辑文件的时候插入自己的邮箱地址,也可以采用同样的方式定义一个快捷键:
:map ^H ifxr@163.com<ESC>
3 连续行注释
:n1,n2s/^/#/g
在第n1行到第n2行的行首增加一个注释符“#”
其中:
(1)n1,n2s表示从第n1行到第n2行的指定位置全部替换(2)第一个“/”后面输入待替换字符所在的位置
(3)第二个“/”后面输入新的字符
注意:这里的“^”就是指键盘上普通的尖角符号,在这里输入这个符号表示行首的意思。
取消注释:
:n1,n2s/#//g
把从第n1行到第n2行的所有符号“#”都替换为空,
但是有的时候,注释符号并不是行首,也有可能在某一行的中间,那如果只需要取消行首的注释,可以使用如下的格式::n1,n2s/^#//g
把从第n1行到第n2行行首的符号“#”都替换为空
在有的文件中,注释符号是“//”,而不是“#”,这个时候想要很方便的添加注释,理论上我们可以通过使用下面的格式::n1,n2s/^g
在第n1行到第n2行的行首增加一个两个“/”
但是如果这样添加的话,就会让vim产生迷惑,因为它不清楚到底哪个“/”是表示分隔符,哪个是要替换的符号。所以,为了避免造成vim的混乱,我们需要使用反斜杠“\”来分割需要插入的“/”,如下所示::n1,n2s/^/\/\//g
在第n1行到第n2行的行首增加一个两个“/”
注意:在需要添加的两个“/”前面都要加上一个“\”来分隔。4 替换
:ab x y
输入x,按空格,按回车,显示的x将会相应地变成y来显示
:ab mymail fxr@163.com
用手动输入简单的字符串mymail,来使系统自动输入复杂的邮箱字符串,简化操作。
如上述设置之后,在编辑文件的时候如果需要添加自己的邮箱,只需要在相应位置输入mymail,然后按空格,再按回车,系统将会相应的自动替换输入邮箱字符串。注意:上述列举的编辑模式的命令在系统经过重启操作之后是不复存在的,如果想要长期的保存,必须要将他们写入每个用户的宿主目录(家目录)下的配置文件里。
例如,以root用户为例,打开或者创建一个配置文件:
[root@localhost~]#vim /root/.vimrc
然后在该文件中输入需要保存的编辑命令。比如:set nu
map ^P I#<ESC>
ab mymail fxr@163.com
编辑完成之后保存该文件,上述编辑命令就会永久生效。比如说打开任何一个文件永远都会显示行号。注意:该文件中只能保存编辑命令,并且在书写的时候前面不再需要添加冒号。