VIM的配置和使用方法


VIM簡介

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

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

  • 安裝vim

    sudo aptitude install -y vim
    

VIM的基本使用

  • 使用vim打開文件

    1. 使用vim打開一個文件

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

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

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

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

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

    • 顯示行號

      : set nu
      
    • 自動縮進

      : set ai
      
    • 語法高亮顯示

      : syntax on
      
  • VIM 中執行SHELL命令

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

    進入vim配置文件

    sudo vim /etc/vim/vimrc
    

    在vimrc文件中編輯配置

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

    filetype on                  # 啟用文件類型偵測
    set encoding=cp936           # 指定當前字符編碼為 Windows 簡體中文
    set tabstop=4                # 設置 Tab 鍵為4個空格
    set mouse=a                  # 在終端中使用鼠標
    set ignorecase               # 查找時忽略大小寫
    set helplang=cn              # 在安裝完中文幫助文檔后設置幫助文檔的語言
    help user                    # 查閱中文手冊
    help user_num(范圍:01-32)    # num可以直接定位到章節
    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進入命令模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處於該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令並不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。

2.2 編輯模式

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

2.3 末行模式

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

3. vi基本操作

3.1進入編輯模式

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

3.2 移動光標

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

3.3 刪除命令

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

3.4 撤銷命令

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

3.5 重復命令

命令 含義
. 重復執行上一次操作的命令

3.6 復制粘貼

命令 含義
yy 和 n yy 和y$ y^ yy復制當前行,5 yy復制5行
p 在光標所在位置向下新開一行粘貼

3.7 選擇文本

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

3.8 查找替換

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

VIM 編輯器進階

  1. 隨時可查閱的 VIM 手冊

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

    vim插件官網:https://www.vim.org/scripts/script.php?script_id=273

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

    • 解壓縮包

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

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

      :Tlist
      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM