vi 編輯器是 Linux 系統中最常用的文本編輯器,vi 在Linux界有編輯器之神的美譽幾乎所有的 Linux 發行版中都包含 vi 程序。
vi 工作在字符模式下,不需要圖形界面,非常適合遠程及嵌入式工作,是效率很高的文本編輯器,盡管在 Linux 上也有很多圖形界面的編輯器可用,但vi的功能是那些圖形編輯器所無法比擬的。vim 是 vi 的升級版,它不僅兼容 vi 的所有指令,而且還有一些新的特性,例如 vim 可以撤消無限次、支持關鍵詞自動完成、可以用不同的顏色來高亮你的代碼。vim 普遍被推崇為類 vi 編輯器中最好的一個。
官網:http://www.vim.org/download.php
使用 vim 時,通用需要 ctags 工具輔助。ctags 是 vim 下方便代碼閱讀的工具,是很強大的 vim 插件,有了它浏覽代碼時可以在函數, 變量之間跳來跳去等等。
官網:http://ctags.sourceforge.net/
安裝 vim,ctags:
sudo apt-get install vim
sudo apt-get install ctags
<img data-cke-saved-src="http://www.2cto.com/uploadfile/Collfiles/20150408/2015040809482968.jpg" src="http://www.2cto.com/uploadfile/Collfiles/20150408/2015040809482968.jpg" alt="" http:="" www.2cto.com="" kf="" ware="" vc="" "="" target="_blank">vcWyvc7EvP6jqM/C1NjWsb3TteO797y0v8mjqaOs1MvQ0L3Fsr28tL/Jzeqzyc/g06bF5NbDoaM8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20150408/2015040809482971.jpg" alt="\">
以下操作,使用 vi 或 vim 命令是等價的。
先給大家介紹一種最簡單最常用的操作(打開文件,編輯文件,保存文件),如果不深入探究,學習這幾個操作即可。
使用 vi 打開文件
vi filename:打開或新建文件,並將光標置於第一行行首
如果文件不存在,則會新建文件,如下:
如果文件存在,即為打開文件,打開文件後,按 “i” 進入插入模式後,才可以進行編輯:
由於 vim 配置原因,導致如上圖的分欄,按 “F9” 即可實現隱藏顯示分欄切換。
默認的情況下,打開文件,是不能直接編輯的:
按 “i” 進入插入模式,即可編輯:
vi +n filename:打開文件,並將光標置於第 n 行行首
保存文件(其中一種方式):
一定要先退出插入模式,然後,shift + zz (按住 “shift” + 按兩下“z”鍵) 即可保存退出當前文件。
vim 編輯器有 3 個操作模式(模式的名字不重要,我總分不清,知道每種模式下干什麼事即可):
1、vi 插入模式
vi 創建一個不存在文件時,默認進入插入模式
vi 將輸入的字符作為正文內容放在正在編輯的文件中
2、vi 編輯模式
vi 打開一個已經存在文件時,默認進入編輯模式
在此模式下可進入插入模式、控制屏幕光標的移動、進行文本的選擇、復制、粘貼、剪切、刪除、查找等工作。
3、vi 最後一行模式 ( 命令模式 )
在編輯模式下,按 “shift” + “ : ” 進入
跟編輯模式類似,完成存盤、另存、查找等任務
模式切換:
由編輯模式切換到插入模式
i 從光標當前位置開始插入
a 從光標當前位置的下一個字符開始插入
o 在光標位置的下行插入一個空行,再進行插入
I 從光標所在行的開頭開始插入正文
A 從光標所在行的末尾開始插入正文
O 在光標位置的上一行插入一個空行,再進行插入
由編輯模式切換到最後一行模式(命令模式)
“shift” + “ : ”
由插入模式、命令模式切換到編輯模式
Esc(命令模式到編輯模式兩次 Esc)
插入模式與命令模式不能直接轉換
編輯模式下刪除和修改文本
1、 u 撤消前面多次修改。
2、[n]x 刪除光標後 n 個字符。
3、[n]X 刪除光標前 n 個字符。
4、[n]dd 刪除從當前行開始的 n 行(准確來講,是剪切,剪切不粘貼即為刪除)。
5、[n]yy復制從當前行開始的 n 行。
6、 p把粘貼板上的內容插入到當前行。
7、 .執行上一次操作
8、shift +zz ( 按住 shift 按兩下 z 鍵 ) 保存退出當前文件
編輯模式下的復制
yw 復制一個word
dw 剪貼一個word
cw 修改一個word
塊選擇命令
v:按字符選擇
d:剪貼選擇的內容到剪貼板。
y:拷貝選擇的內容到剪貼板。
c:剪貼選擇的內容到剪貼板並且進入插入模式
(n)shift + >所選內容向右移動一個tab
(n)shift + <所選內容向左移動一個tab
編輯模式下移動光標
[n]G:將光標定位到第n行開始處
G:將光標定位到文件結束處
gg:將光標定位到文件開始處
編輯模式下的查找
/字符串:從光標開始處向文件尾查找字符串。
n:同一方向重復上一次查找命令
N:反方向重復上一次查找命令
常用最後一行模式命令
文件存儲類
:w保存當前文件
:w file 另存當前文件為 file
:q 退出vi
:wq 保存當前文件,退出
:x 同上
:q! 不保存文件並退出
普通模式下的多行剪切、復制