vi是一種模式編輯器。vi 是Unix世界裏極爲廣泛的全屏幕文本編輯器,幾乎能夠說任何一臺Unix機器都會提供這套軟體,
其餘的文本編輯器則不必定會存在,可是目前咱們使用比較多的是 vim 編輯器。程序員
vim具備程序編輯的能力,能夠主動的以字體顏色辨別語法的正確性,方便程序設計。編程
Vim是從vi發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。
簡單的來講,vi是老式的字處理器,不過功能已經很齊全了,可是仍是有能夠進步的地方。vim則能夠說是程序開發者的一項很好用的工具。vim
基本上vi/vim共分爲三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。編輯器
用戶剛剛啓動vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動做會被Vim識別爲命令,而非輸入字符。
好比咱們此時按下a或者i或者o等等,並不會輸入一個字符,而是會被看成一個命令進行處理。工具
1. 移動光標
w(e) 移動光標到下一個單詞
b 移動到光標上一個單詞字體
數字0 移動到本行開頭
$ 移動光標到本行結尾spa
H 移動光標到屏幕首行的行首
M 移動到光標到屏幕的中間一行的行首
L 移動光標到屏幕的尾行的行首設計
gg 移動光標到文檔的首行
G 移動光標到文檔尾行3d
nG 移動光標到指定行的行首(n爲行數,例如 25G 移動到第25行)
:行號 快速定位到哪一行 blog
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行
4. 刪除
dd 刪除光標所在行
2dd 刪除光標所在的2行數據
D 刪除當前光標到行尾的內容
dG 刪除當前行到文檔尾部的內容
x 刪除光標所在的字符
5.撤銷
u 撤銷上一步的操做
Ctrl+r 反撤銷
i: 插入光標前一個字符
I: 插入行首
a: 插入光標後一個字符
A: 插入行未
o: 向下新開一行,插入行首
O: 向上新開一行,插入行首
在命令模式下輸入冒號(英文的:),就進入了底線命令模式,
在底線命令模式下能夠輸入單個或多個字符的命令,經常使用命令有:
:w 將文件內容寫入
:q 不保存退出
:q! 不保存強制退出
:x 保存退出
:wq! 強制保存退出
:set number 顯示行號
:set nu 顯示行號
:set nonu 取消行號
:! command 暫時離開vim指令模式,執行command的結果
例如 :!ip 臨時看一下ip信息,而後能夠回到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