3 7 Vim - ianchen0119/AwesomeCS GitHub Wiki

Vim 是從 vi 發展出來的一個文字編輯器。其代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式設計師中被廣泛使用。 -- 維基百科

作為資工本科生,會經常觸碰 Commad line 程式。平常上台 Demo 時,如果會使用 Vim 搞不好可以吸引到異性的注意(才怪)。

本篇文章並不會讓大家變成 Vim 的高手,不過可以讓大家熟悉 Vim 的使用,應付日常作業綽綽有餘。

模式介紹

Normal

Insert

Replace

常見操作

開檔案

vim yourfile.c

Insert Mode

[i]

Replace Mode

[r]

跳脫 Insert/Replace Mode

[esc]

離開

  • 未編輯,直接離開
    :q
    
  • 已編輯,放棄修改內容
    :q!
    
  • 已編輯,儲存並離開
    :wq
    
  • 已編輯,儲存並離開(檔案為 read-only 時)
    :wq!
    

搜尋與取代

  • 向游標之下尋找一個名稱為 word 的字串。 假設欲搜尋的關鍵字為 static :

    /static
    
  • 向游標之上尋找一個名稱為 word 的字串。 假設欲搜尋的關鍵字為 static :

    ?static
    
  • 向下找

    假設檔案內有多個 static 字串,可以使用下列按鍵向下查找。

    若是用 ? 關鍵字進行查找,則變成向上查找。

    [n]
    
  • 向上找

    假設檔案內有多個 static 字串,可以使用下列按鍵向上查找。

    若是用 ? 關鍵字進行查找,則變成向下查找。

    [N]
    

其他操作

  • 選取文字

    [v]
    

    按下 [v] 便會進入 Visual Mode ,這時便可以透過方向鍵或是 [h, j, k, l] 鍵移動,像是:

  • copy

    [y]
    

    按下 [y] 可以把已選取的文字複製下來。

  • paste

    [p]
    

    利用方向鍵移動到你想要貼上的位置按下 [p] 後,便可以完成貼上的動作。

  • undo

    [u]
    
  • redo

    [Ctrl] + [r]
    

客製化你的 Vim

開始之前

首先,我們需要先創建 Vim 的 Config 檔,筆者是建立在桌面上:

vim .vimrc

讓 Vim 顯示行數

編輯你的 .vimrc 添加以下命令:

set number

安裝套件管理器 (適用於 UNIX / 類 Unix 系統)

Vim-plug 是為了 Vim 打造的套件管理器,我們可以使用下面的命令安裝 Vim-plug :

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

安裝第一個套件

在安裝完套件管理器後,我們可以來嘗試安裝第三方的 Vim 主題。 這次,我們要嘗試安裝的是 snazzy 主題。

我們先打開 .vimrc 並新增:

call plug#begin('~/.vim/plugged')
"之後要安裝任何套件都是寫在這!
call plug#end()

再來,根據 snazzy 的文件,我們添加如下命令:

Plug 'connorholyday/vim-snazzy'

添加後, .vimrc 的內容看起來會像是:

" ...
call plug#begin('~/.vim/plugged')
Plug 'connorholyday/vim-snazzy'
call plug#end()

最後,我們需要在 Vim 的 Normal 模式下輸入指令以完成新套件的安裝:

:PlugInstall

移除套件

若要移除已經安裝的套件,需要先編輯 .vimrc :

" ...
call plug#begin('~/.vim/plugged')
"Plug 'connorholyday/vim-snazzy'
call plug#end()

將需移除套件的描述文字註解或是移除。 最後,我們需要在 Vim 的 Normal 模式下輸入指令以完成套件的移除:

:PlugClean

其他設定檔 (.vimrc)

筆者在這邊分享自己的設定檔:

  " 顯示行數$
  set number$
  " 設定縮排$
  set tabstop=4$
  set shiftwidth=4$
  set softtabstop=4$
  " 顯示$$
  set list$
  " 保留命令行$
  set laststatus=2$
  " Vim-plug 插件$
  call plug#begin('~/.vim/plugged')$
  Plug 'connorholyday/vim-snazzy'$
  call plug#end()$
  " 客製化主題$
  colorscheme snazzy$

更多設定可以參考該連結