文本编辑器vim概述与应用示例
文本编辑器概述
vim编辑器是一种易用、功能强大的文本编辑器,可以基于三种不同的模式对文本进行编辑,包括编辑模式、输入模式和末行模式。
-
编辑模式
-
模式转换
i 表示在光标所在处插入 a 表示在光标后方插入 o 表示在光标所在处的下一行插入 O 表示在光标所在处的上一行插入 I 表示在光标所在行的行首插入 A 表示在光标所在行的行尾插入 :进入末行模式
-
光标跳转
字符间跳转:h(左)、j(下)、k(下)、l(右) 单词间跳转:w(下一个单词词首)、b(当前单词词首)、e(当前单词词尾) 行内跳转:0(当前行行首)、$(当前行行尾)、^(当前行非空白字符的行首) 行间跳转:1G(第一行)、G(最后一行)、#G(第#行)
-
翻屏
ctrl+f 下一屏 ctrl+b 上一屏 ctrl+u 上半屏 ctrl+d 下半屏 enter 后一行
-
编辑命令
x(删除光标所在处的字符)、#x(删除从光标及向后的#个字符) rchar(以char字符替换当前光标处的字符) d(结合^、0、$、w、d、e实现范围删除)、dd(删除当前行)、#dd(删除当前行及之后的#行) y(结合^、0、$、w、d、e实现范围复制)、yy(复制当前行)、#yy(复制当前行及之后的#行) c(结合^、0、$、w、d、e实现范围删除并进入输入模式)) p(如果复制的内容为整行,则粘贴在下一行行首,否则粘贴于光标的后方) P(如果复制的内容为整行,则粘贴在上一行行首,否则粘贴于光标的前方) v(按字符可视化选定) V(按行可视化选定) u(撤销此前的操作)、#u(撤销此前的#个操作) r(撤销此前的撤销)
-
-
末行模式
-
模式转换
ESC 进入编辑模式
-
地址定界与编辑命令结合
.(当前行)、$(最后一行)、#(第#行)、%(全文)、/pattern/(模式匹配的行)、,(表示行范围) d、y、c、w(将指定的内容保存至指定的文件)、r(指定文件的内容插入指定位置)
-
查找
/PATTERN(向下查找匹配内容)、?PATTERN(向上查找匹配的内容)、n(与查找方向相同查找下一个)、N(与查找方向相反查找下一个)
-
查找替换
s/查找模式/替换内容/修饰符、修饰符(i 忽略大小写 g全部替换)、&(替换内容中使用&引用查找到的全部内容)
-
退出
q 退出、q! 不保存退出、wq 保存退出
-
模式转换
-
输入模式
-
模式转换
ESC 进入编辑模式
- 直接操作
-
模式转换
文本编辑器应用示例
-
1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#
cp -a /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit,在末行模式下输入%s/^[[:space:]]\+[^[:space:]]/#&/g
-
2.复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符
cp -a /boot/grub/grub.conf /tmp vim /tmp/grub.conf,在末行模式下输入%s/^[[:space:]]\+//g
-
3.删除/tmp/rc.sysinit文件中以#开头,且后面跟了至少一个空白字符的行的#和空白字符
vim /tmp/rc.sysinit,在末行模式下输入%s/^#[[:space:]]\+\//g
-
4.为/tmp/grub.conf文件中的前3行的行首加#号
vim /tmp/rc.sysinit,在末行模式下输入0,3s/^/#/g
-
5.将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1
vim /etc/yum.repos.d/CentOS-Media.repo,在末行模式下输入%s/\(enable\|gpgcheck\)=0/\1=1/g
原创文章,作者:N27_xiaoni,如若转载,请注明出处:http://www.178linux.com/83537
评论列表(1条)
VIM基本用法掌握后,可以尝试扩展一下高阶用法和一些插件功能。