VIM的配置和使用方法

VIM簡介

vim是一款類似于vi的功能強(qiáng)大的文本編輯器且對比于傳統(tǒng)的vi編輯器得到了很大的功能上的提升,在類Unix系統(tǒng)中得到了廣泛的使用。通過簡單的配置,就可以完成強(qiáng)大的學(xué)習(xí)。

如果你的操作系統(tǒng)(類Unix系統(tǒng))上沒有vim編輯器,請先安裝它!,以ubuntu操作系統(tǒng)為例:

  • 安裝vim

    sudo aptitude install -y vim
    

VIM的基本使用

  • 使用vim打開文件

    1. 使用vim打開一個文件

      sudo vim /etc/passwd
      
    2. 精確定位到要編輯文件的行數(shù)

      sudo vim +18 /etc/passwd
      
    3. 使用vim一次性打開多個文件

      sudo vim -O /etc/passwd /etc/group
      

      這樣vim可以打開兩個文件,光標(biāo)默認(rèn)在最左邊的窗口中,可以直接編輯里面的內(nèi)容。使用Ctrl + W 可以切換到另外一個窗口(切換之前需要保存寫入的內(nèi)容)。

  • 配置vim(可在vim配置文件vimrc中寫入)

    • 顯示行號

      : set nu
      
    • 自動縮進(jìn)

      : set ai
      
    • 語法高亮顯示

      : syntax on
      
  • VIM 中執(zhí)行SHELL命令

    :! gcc -o hello hello.c
    
  • 定義快捷鍵

    進(jìn)入vim配置文件

    sudo vim /etc/vim/vimrc
    

    在vimrc文件中編輯配置

    noremap <F6> :set nu
    noremap <F7> :set ai
    noremap <F8> :syntax on
    
  • 高效配置

    filetype on                  # 啟用文件類型偵測
    set encoding=cp936           # 指定當(dāng)前字符編碼為 Windows 簡體中文
    set tabstop=4                # 設(shè)置 Tab 鍵為4個空格
    set mouse=a                  # 在終端中使用鼠標(biāo)
    set ignorecase               # 查找時忽略大小寫
    set helplang=cn              # 在安裝完中文幫助文檔后設(shè)置幫助文檔的語言
    help user                    # 查閱中文手冊
    help user_num(范圍:01-32)    # num可以直接定位到章節(jié)
    help tag                     # tag為手冊名稱
    

個人使用的vim配置

: set nu
: set ai
: syntax on
: filetype on
set tabstop=4
set mouse=a
set ignorecase

vi工作模式

vi有三種基本工作模式:命令模式、文本輸入模式、末行模式。

12192974-85087c189fa9b9e0.png

vi 工作模式

2.1 命令模式

任何時候,不管用戶處于何種模式,只要按一下ESC鍵,即可使Vi進(jìn)入命令模式;我們在shell環(huán)境(提示符為$)下輸入啟動Vi命令,進(jìn)入編輯器時,也是處于該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當(dāng)做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應(yīng)的動作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報(bào)警。

2.2 編輯模式

在命令模式下輸入插入命令i(當(dāng)前位置插入)、a(當(dāng)前位置后一位置插入) 、o(下一行插入)可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。

2.3 末行模式

在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令執(zhí)行完后,Vi自動回到命令模式。
如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。

3. vi基本操作

3.1進(jìn)入編輯模式

命令 含義
i和I i在光標(biāo)前插入,I在行首插入
a和A a在光標(biāo)后插入,A在行末插入
o和O o在光標(biāo)所在行下一行插入,O在光標(biāo)所在行上一行插入

3.2 移動光標(biāo)

命令 含義
h 光標(biāo)向左移動
j 光標(biāo)向下移動
k 光標(biāo)向上移動
l 光標(biāo)向右移動
H、M、L 光標(biāo)移動到到可見屏幕第一行(H)、中間行(M)、最后一行(L)
^和$ ^移動到行首,$移動到行末
G和gg G文檔最后一行,gg文檔第一行
ctrl+f、ctrl+b 向前翻屏、向后翻屏
ctrl+d、ctrl+u 向前半屛、向后半屛
{ 和 } {向上移動一段,}向后移動一段
w和b 向前移動一個單詞,向后移動一個單詞

3.3 刪除命令

命令 含義
X和x x刪除光標(biāo)后一個字符,X刪除光標(biāo)前一個字符,包含光標(biāo)位置字符
dd和 n dd dd刪除所在行,5 dd刪除指定行數(shù)
d0和D d0刪除光標(biāo)前本行所有內(nèi)容,D刪除光標(biāo)后本行所有內(nèi)容,包含光標(biāo)位置字符
dw 刪除光標(biāo)所在位置的字,包含光表所在位置字符

3.4 撤銷命令

命令 含義
u 一步一步撤銷
ctrl + r 反撤銷

3.5 重復(fù)命令

命令 含義
. 重復(fù)執(zhí)行上一次操作的命令

3.6 復(fù)制粘貼

命令 含義
yy 和 n yy 和y$ y^ yy復(fù)制當(dāng)前行,5 yy復(fù)制5行
p 在光標(biāo)所在位置向下新開一行粘貼

3.7 選擇文本

命令 含義
v 和 V v選擇單個字符,V選擇整行
<<和>> 選擇文本之后,向左縮進(jìn),向右縮進(jìn)

3.8 查找替換

命令 含義
命令模式下,r和R r替換當(dāng)前字符,R替換光標(biāo)后的字符
末行模式下,/ + str n查找下一個,N查找前一個
末行模式下,%s/abc/123/g 將文件中所有abc替換為123
末行模式下,1, 10s/abc/123/g 將第一行至第10行之間的abc替換成123

VIM 編輯器進(jìn)階

  1. 隨時可查閱的 VIM 手冊

    http://soruceforge.net/projects/vimdoc/files/vimcdoc/vimcdoc-1.9.0.tar.gz/download
    
  2. 使用vim插件

    vim插件官網(wǎng):https://www.vim.org/scripts/script.php?script_id=273

    插件一般安裝步驟(以TagList插件為例):

    • 解壓縮包

      sudo unzip taglist_46.zip
      
    • 將xxx.vim復(fù)制到/etc/vim/plugin目錄下

      cd plugin
      sudo cp -rf taglist.vim /etc/vim/plugin
      
    • 重啟VIM后輸入如下命令

      :Tlist
      
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容