1. 程式人生 > >Linux之文字編輯器Vim

Linux之文字編輯器Vim

一、什麼是vim

vi是一種模式編輯器。vi 是Unix世界裡極為普遍的全螢幕文字編輯器,幾乎可以說任何一臺Unix機器都會提供這套軟體,
其他的文字編輯器則不一定會存在,但是目前我們使用比較多的是 vim 編輯器。

vim具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。

Vim是從vi發展出來的一個文字編輯器。程式碼補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。
簡單的來說,vi是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。vim則可以說是程式開發者的一項很好用的工具。

 

二、vi/vim的使用

基本上vi/vim共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。

 

1、命令模式

使用者剛剛啟動vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。
比如我們此時按下a或者i或者o等等,並不會輸入一個字元,而是會被當作一個命令進行處理。

1. 移動游標
w(e)    移動游標到下一個單詞
b    移動到游標上一個單詞

數字0  移動到本行開頭
$    移動游標到本行結尾

H    移動游標到螢幕首行的行首
M    移動到游標到螢幕的中間一行的行首
L     移動游標到螢幕的尾行的行首

gg     移動游標到文件的首行
G    移動游標到文件尾行

nG 移動游標到指定行的行首(n為行數,例如 25G 移動到第25行)
:行號 快速定位到哪一行

Ctrl + f 翻到下一頁 (向前翻頁) front
Ctrl + b 翻到上一頁(向後翻頁) back

Ctrl + u 向前翻半頁
Ctrl + d 向後翻半頁

`.  移動游標到上一次的修改行


2. 查詢
/字串 在整篇文件中搜索 字串,向下查詢,按字母 n 跳到下一個
?字串 在整篇文件中搜索 字串,向上查詢,按字母 n 跳到上一個

* 查詢整個文件,匹配游標所在的所有單詞,按下n查詢下一處,N上一處
# 查詢整個文件,匹配游標所在的所有單詞,按下n查詢上一處,N下一處

gd 找到游標所在單詞匹配的單詞,並停留在非註釋的第一個匹配上

%     找到括號的另一半!!

:noh 取消查詢的內容


3. 複製貼上
yy 游標在哪一行,輸入yy就是複製這一行
p 貼上yy所複製的內容

7yy 就是複製游標所在行的7行
p 貼上剛才複製的7行

dd 刪除游標所在行
2dd 刪除游標所在的2行資料

D 刪除當前游標到行尾的內容
dG 刪除當前行到文件尾部的內容

x   刪除游標所在的字元

u 撤銷上一步的操作
Ctrl+r 反撤銷

 

2、輸入模式

i: 插入游標前一個字元
I: 插入行首

a: 插入游標後一個字元
A: 插入行未

o: 向下新開一行,插入行首
O: 向上新開一行,插入行首

 

3、底線命令模式

在命令模式下輸入冒號(英文的:),就進入了底線命令模式,
在底線命令模式下可以輸入單個或多個字元的命令,常用命令有


:w 將檔案內容寫入

:q 不儲存退出
:q! 不儲存強制退出

:x 儲存退出
:wq! 強制儲存退出

:set number 顯示行號
:set nu 顯示行號

:set nonu  取消行號

:! command 暫時離開vim指令模式,執行command的結果
例如 :!ip 臨時看一下ip資訊,然後可以回到vim

 

4、vim工作模式

 

5、vim按鍵

移動游標的方法
h 或 向左箭頭鍵(←) 游標向左移動一個字元
j 或 向下箭頭鍵(↓) 游標向下移動一個字元
k 或 向上箭頭鍵(↑) 游標向上移動一個字元
l 或 向右箭頭鍵(→) 游標向右移動一個字元

向下移動5行      5j
向右移動10字元    10l

n(space)    按下數字n,例如10,然後按下空格,游標會向右移動10個字元

 

ctrl + n 是自動補齊

vim 編輯器中TAB變4空格
vim /etc/vimrc #開啟 vimrc 檔案,將以下三行內容新增到檔案中

set ts=4

set expandtab

set autoindent