首頁 > 軟體

Vim編輯器使用教學

2020-06-16 17:09:55

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:向下一個字元

當然也可以是鍵盤的上下左右箭頭

可以結合數位加COMMAND,例如按 " 2  h " 游標向左移動2個字元

 單詞間跳轉

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:刪除游標所在的行
可以結合數位使用: "3 dd":刪除游標所處的行起行及下面的行,共3行
注意:刪除的內容被儲存在快取區裡面

 貼上命令

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


IT145.com E-mail:sddin#qq.com