標籤:linux vim
概述
vi 編輯器是 Linux 系統中最常用的文字編輯器,vi 在Linux界有編輯器之神的美譽幾乎所有的 Linux 發行版中都包含 vi 程式。
vi 工作在字元模式下,不需要圖形介面,非常適合遠程及嵌入式工作,是效率很高的文字編輯器,儘管在 Linux 上也有很多圖形介面的編輯器可用,但vi的功能是那些圖形編輯器所無法比擬的。
那 vim 又是什麼呢?
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
配置 vim:
這裡有一篇《 vim 配置說明》,可以點擊看看。
這裡有一個已經配置好的腳步檔案(下載直接點擊即可),運行腳步即可完成相應配置。
vim 最簡單最常用的操作
以下操作,使用 vi 或 vim 命令是等價的。
先給大家介紹一種最簡單最常用的操作(開啟檔案,編輯檔案,儲存檔案),如果不深入探究,學習這幾個操作即可。
使用 vi 開啟檔案
vi filename:開啟或建立檔案,並將游標置於第一行行首
如果檔案不存在,則會建立檔案,如下:
如果檔案存在,即為開啟檔案,開啟檔案後,按 “i” 進入插入模式後,才可以進行編輯:
由於 vim 配置原因,導致如的分欄,按 “F9” 即可實現隱藏顯示分欄切換。
預設的情況下,開啟檔案,是不能直接編輯的:
按 “i” 進入插入模式,即可編輯:
vi +n filename:開啟檔案,並將游標置於第 n 行行首
儲存檔案(其中一種方式):
一定要先退出插入模式,然後,shift + zz (按住 “shift” + 按兩下“z”鍵) 即可儲存退出當前檔案。
vim 的詳細使用
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! 不儲存檔案並退出
普通模式下的多行剪下、複製
:n1,n2 d 剪下 n1 到 n2 行之間的內容到粘貼板
:n1,n2 m n3 剪下 n1 行到 n2 行之間的內容到 n3 行下
:n1,n2 co n3 複製 n1 行到 n2 行之間的內容到 n3 行下
最後一行模式下的尋找和替換
:s/p1/p2/g 將當前行中所有 p1 均用 p2 替代
:g/p1/s//p2/g 將檔案中所有 p1 均 用 p2 替代
:n1,n2s/p1/p2/g 將 n1 到 n2 行中所有 p1 均用 p2 替代
Linux 開發環境搭建與使用——Linux 常用編輯器之vim