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