文本編輯器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.www58058.com/83537
VIM基本用法掌握后,可以嘗試擴展一下高階用法和一些插件功能。