2021-05-12 14:32:11
Vim編輯器使用教學
Vim是一個類似Vi的著名的功能強大、高度可客製化的文字編輯器,在Vi的基礎上改進和增加了許多的功能,Vim是自由軟體,今天我們就來講講Vim的使用方法。
本文是基於CentOS7上的vim編輯器演示的,預設CentOS7沒有安裝Vim,可以使用yum -y install vim安裝Vim。
Vim的四種模式及轉換
命令模式:控制螢幕的游標移動,進行文字的刪除、複製等文字編輯工作,當使用vim開啟某個檔案的時候,預設模式就 是命令模式
插入模式:只有在插入模式下,才可以輸入文字
末行模式:儲存檔案或退出vim,同時也可以設定編輯環境和一些編譯工作,如列出行號、尋找字串等。
視覺化模式:可以使用滑鼠框選文字,比較人性化
特別要提到的是,在命令模式到插入模式,可以有多種方式:
i:insert,在游標所在處輸入
a:append,在游標所在處後方輸入
o:在游標所在行處的下方開啟一個新行
I:在游標所在行的行首輸入
A:在游標所在行的行尾輸入
O:在光年所在行的上面開啟一個新行
退出檔案
在命令模式下:
ZZ:儲存並退出
在末行模式下:
q:退出 q!:強制退出,不儲存此前的編輯操作 wq:儲存並退出 x:儲存並退出 w:儲存,也可以儲存到某個檔案 w /PATH/TO/SOMEFILE
舉例:我們複製一個檔案cp /etc/rc.d/init.d/functions /tmp/functions.txt,然後操作/tmp/functions.txt這個檔案,在第第二行中插入"# hello linux",儲存退出。
Vim入門基礎知識集錦 http://www.linuxidc.com/Linux/2017-02/140903.htm
Vim入門基礎教學 http://www.linuxidc.com/Linux/2017-02/140279.htm
把Vim打造成優秀的C++ IDE http://www.linuxidc.com/Linux/2016-06/132262.htm
Ubuntu 14.04升級Vim7.4到8.0 http://www.linuxidc.com/Linux/2016-11/136816.htm
Vim編輯器簡單使用入門教學 http://www.linuxidc.com/Linux/2017-06/145270.htm
Vim安裝youcompleteme自動補全外掛 http://www.linuxidc.com/Linux/2016-11/137665.htm
Linux Vim編輯器使用簡單講解 http://www.linuxidc.com/Linux/2016-12/138930.htm
Vim文字編輯器 http://www.linuxidc.com/Linux/2017-03/142275.htm
Vim安裝與設定進階版 http://www.linuxidc.com/Linux/2017-03/141724.htm
Ubuntu 16.04 Vim YouCompleteMe自動補全的安裝設定與使用 http://www.linuxidc.com/Linux/2017-02/141088.htm
游標跳轉
在命令模式下操作
字元間跳轉
h:向左一個字元
l:向右一個字元
k:向上一個字元
j:向下一個字元
當然也可以是鍵盤的上下左右箭頭
單詞間跳轉
w:下一個單詞的詞首 e:當前或後一個單詞的詞尾 b:當前或者前一個單詞的詞首 可以結合數位加COMMAND,例如" 2 w ":當前單詞後的第二個單詞的詞首
行首行尾跳轉
^:跳轉至行首的第一個非空白字元 0:跳轉至行首 $:跳轉至行尾
行間跳轉
#G:跳轉至由#指定的行
1G,gg:第一行
G:最後一行
句間跳轉和端間跳轉(不常用)
):下一句
(:上一句
}:下一段
{:上一段
翻屏
Ctrl+f:向檔案尾部翻一屏 ctrl+b:向檔案首部翻一屏 ctrl+d:向檔案尾部翻半屏 ctrl+u:向檔案首部翻半屏 Enter:按行向後翻
vim的編輯命令
字元編輯
x:刪除當前字元
#x:刪除游標處起始的#個字元
xp:交換游標處的字元及其後面字元的位置
替換命令(replace)
r:替換游標所在處的字元
r+替換字元
刪除命令
d:刪除命令,不能單獨使用 d$:刪除當前字元到所在行的行尾 d^:刪除當前字元到所在行的行首(不刪除游標所在字元) dw:刪除游標所在的單詞位置至下一個單詞的詞首 de:刪除游標所在單詞的位置至下一個單詞的詞尾 db:刪除游標所在單詞的位置至單詞的首部 dd:刪除游標所在的行
貼上命令
p:緩衝區中的內容如果是整行,則貼上在當前所在行的下方,否則,則貼上至當前游標所在處的後方
P:緩衝區中的內容如果是整行,則貼上在當前所在行的上方,否則,則貼上至當前游標所在處的前鋒
複製命令
y:複製,不能單獨使用 y$:複製游標位置到行尾 y^:複製游標位置至行首,不包含游標所在的字元 ye,yw:複製游標所在單詞的位置至詞尾 yb:複製游標所在單詞的位置至詞首 yy:複製一整行
改變命令
和d的作用是一樣的,刪除檔案,不同之處在於,使用c之後,會直接進入插入模式
c$:刪除游標所在位置至行尾並進入插入模式 c^:刪除游標所在位置至行首並進入插入模式 ce,cw:刪除游標所在單詞的位置至單詞尾部 cb:刪除游標所在單詞的位置至單詞首部
其他編輯操作
在命令模式下使用v和V進入視覺化模式
v:按字元選定
V:按行選定
選定之後,可以結合d(刪除),c(刪除並進入插入模式),y(複製)來操作
vim末行模式
地址定界
n:特定的第n行,列入:5,即第5行 . :當前行 $:最後一行 n1,n2:指定行範圍,左側為起始行,右側為結束行 n1,+n2:指定行範圍,左側為起始行,右側為偏移量 %:全文 /pattern/:從游標所在處起始向檔案尾部第一次被模式匹配到的行 /pat1/,/pat2/:從游標所在處起始,第一由pat1匹配到的行開始,至第一次由pat2匹配到的所有行
可以結合d,y,c使用,也可以使用w將範圍內的文字儲存至指定的檔案,使用r /PATH/FROM/SOMEFILE 將指定檔案中的文字讀取並插入至指定的位置。
查詢
/PATTERN:從當前游標所在處向檔案尾部查詢能夠被模式匹配的所有字串 ?PATTERN:從當前游標所在處向檔案首部查詢能夠被模式匹配的所有字串 n:檢視下一個 N:檢視上一個
查詢並替換
s:末行模式的命令
格式:s/要查詢的內容/替換的內容/修飾符 要查詢的內容:可使用正規表示式 替換的內容:不能使用正規表示式,但是可以參照 如果"要查詢的內容"部分在模式中使用了分組符號,在"替換的內容"中可以使用後向參照 直接參照查詢模式匹配到的全部文字,要是用&符號 修飾符: i:忽略大小寫 g:全域性替換,意味著一行中如果匹配到多次,則均替換
有的時候我們需要匹配"",我們就可以把分隔符替換為其他的字元,比如s@@@或者s###。
vim的多檔案功能
vim可以同時開啟多個檔案
vim FILE1 FILE2..
在檔案間切換:
:next 下一個檔案 :prev 上一個檔案 :first 第一個檔案 :last 最後一個檔案
退出所有檔案:
:wqall 儲存退出所有檔案 :wall 儲存所有檔案 :qall 退出所有檔案
多視窗檢視
在使用vim開啟多個檔案時使用選項:
-o:水平分隔視窗
-O:垂直分隔視窗
使用ctrl+w切換視窗
客製化vim的工作特性
在末行模式下的設定,僅對當前vim有效,永久修改必須修改組態檔:
全域性:/etc/vimrc
使用者個人:~/.vimrv 沒有可以建立
在末行模式下的操作:
1、行號 顯示:set number, 簡寫為set nu 取消顯示:set nomber, set nonu 2、括號匹配高亮 匹配:set showmatch, set sm 取消:set nosm 3、自動縮排 啟用:set ai 禁用:set noai 4、高亮搜尋 啟用:set hlsearch 禁用:set nohlsearch 5、語法高亮 啟用:syntax on 禁用:syntax off 6、忽略字元大小寫 啟用:set ic 禁用:set noic
舉例:在vim中,tab鍵為8個空格的位置且8個空格是一個整體,如果是左右鍵移動會看到只能移動一次就是8個空格,那麼如何將其修改為4個空格呢?
可以在/etc/vimrc加入以下2行:
set ts=4 #設定寬度為4個空格 set expandtab #將tab轉換為了space
在末行模式下可以獲取VIM的幫助
:help
:help subject
如果大家想練習vim的操作,輸入vimtutor即可獲取VIM教學
[root@localhost ~]# vimtutor
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-07/145885.htm
相關文章