在linux的發行版本中,系統預設都會安裝vi 編輯器,vim編輯器是vi的改進版本。剛裝完系統之後,系統裡是沒有安裝vim軟體包的。所以需要你手動在ubuntu系統下安裝vim 文字編輯器。
vim文字編輯器是乙個非常強大的工具,可以做很多事情,比如新建檔案,開啟檔案,編輯檔案,儲存檔案,同時開啟多個檔案等。下面總結一些常用的vim 編輯器命令:
1. 進入vim編輯器的方式:(進入vim編輯器時,預設的模式是「命令模式」) 在終端輸入
vi:進入vim編輯器
vi filename:進入vim編輯器,新建了乙個filename檔案,游標定位到檔案的第一行
vi在工作時,會在當前目錄下建立.swp的臨時檔案,該臨時檔案也稱為交換檔案
當vi結束對當前檔案編輯且正常退出時,臨時檔案.swp會被自動刪除
當vi結束對當前檔案編輯且非正常退出時,臨時檔案.swp會被殘留下來
vi + filename:進入vim編輯器,開啟已存在的filename檔案,游標定位到檔案的最後一行
vi在工作時,會在與被編輯檔案相同的目錄內建立乙個名為.filename.swp的臨時檔案
當vi結束對當前檔案編輯且正常退出時,臨時檔案.filename.swp會被自動刪除
當vi結束對當前檔案編輯且非正常退出時,臨時檔案.filename.swp會被殘留下來
vi +# filename:進入vim編輯器,開啟已存在的filename檔案,游標定位到檔案的第#行(#必須用數字代替)
vi -r filename:進入vim編輯器,以唯讀方式開啟已存在的filename檔案,被編輯的檔案不能回存,但可以另存為
vi -r filename:從vi crash或非正常退出中恢復檔案
vi -r .*.swp:從交換檔案.*.swp中恢復檔案
vi -r:列出當前目錄內所有因vi非正常退出而殘留的交換檔案,以便恢復
vi -l:列出當前目錄內所有因vi非正常退出而殘留的交換檔案,以便恢復
2. vi有三種工作方式:
命令模式、
編輯模式及
命令項模式。
命令模式:在這種模式下,可以通過輸入vi的命令對檔案的內容進行處理(複製、刪除、移動等),也可以通過按游標鍵來移動游標。
編輯模式:在這種模式下,可以在游標處輸入內容。
命令項模式:在命令模式下,使用者輸入冒號後,游標會跳到底行,然後輸入命令。
命令模式 --> 輸入a、a、i、i、o、o等命令 --> 編輯模式
編輯模式 --> 按esc鍵 --> 命令模式
命令模式 --> 輸入冒號 --> 命令項模式
3. 退出vi的命令
在命令模式下,輸入:
:w 儲存檔案,不退出vi
:w filename 把vi中的內容儲存到不存在的filename檔案,不退出vi
:w! filename 把vi中的內容儲存到已存在的filename檔案,不退出vi
:w>>filename 把vi中的內容追加到filename檔案,不退出vi
:n1,n2w filename 把n1行到n2行的內容儲存到不存在的filename檔案
:n1,n2w! filename 把n1行到n2行的內容儲存到已存在的filename檔案
:wq 儲存檔案,退出vi
:x 儲存檔案,退出vi
:zz 儲存檔案,退出vi
:q 不儲存檔案,退出vi(若檔案已改變,則不能退出)
:q! 不儲存檔案,退出vi
:zq 不儲存檔案,退出vi
4. 在命令模式下,可以輸入以下命令:
(1)游標移動命令
h: 左
l: 右
k: 上
j: 下
向左游標鍵
向右游標鍵
向上游標鍵
向下游標鍵
(2)插入命令
i:在游標處插入內容
i:在第一行插入內容
a:在游標後插入內容
a:在當前行的尾部插入內容
o:在當前行的下面插入新行
o:在當前行的上面插入新行
(3)刪除命令
x:刪除游標處的字元
x:刪除游標前的乙個字元
d0:刪除從當前游標所在行的第乙個字元到當前游標的前乙個字元的一串字元
d:刪除從當前游標所在的字元到當前游標所在行的最後乙個字元的一串字元
dd:刪除游標所在行的所有字元
dw:刪除從游標處字元開始的乙個單詞
例如:a boy girl pig
如果游標在l處,dw後,結果是:a boy girpig
如果游標在l和p之間的空格處,dw後,結果是:a boy girlpig
如果游標在b處,dw後,結果是:a girl pig
#dd:刪除從游標所在的行到其後的#-1行(#必須用數字代替)
#x:刪除從游標所在的字元開始的#個字元(#必須用數字代替)
:n1,n2 d:刪除n1行到n2行的內容
(4)複製命令
:n1,n2 t n3:把n1行到n2行的內容複製到第n3行的下一行
(5)移動命令
:n1,n2 m n3:把n1行到n2行的內容移動到第n3行的下一行
(6)修改/替換命令
r:輸入乙個字元替換游標處的乙個字元
r:從游標處的字元開始替換,後面的字元乙個乙個被輸入的字元覆蓋
s:輸入一串字元來替換游標處的字元
s:先清除游標所在的行,你可以在當前行輸入一串字元
cc:先清除游標所在的行,你可以在當前行輸入一串字元
cw:修改乙個單詞
例如:ab cdef ghijk
游標在d處,輸入cw後,結果是:ab cde$ ghijk,
此時若輸入pqghd後,結果是:ab cpqghd ghijk
此時若輸入p後按esc鍵,結果是:ab cp ghijk
c:修改從游標處開始及其該行後面的部分
例如:ab cdef ghijk
游標在d處,輸入cw後,結果是:ab cdef ghij$,此時輸入pqghd後,結果是:ab cpqghd
(7)游標定位命令
0:定位到游標所在行的行首
$:定位到游標所在行的行末
:#:定位到第#行的行首
:$:定位到最後一行的行首
/exp:向後定位到字串exp
?exp:向前定位到字串exp
/^exp:定位到行首為字串exp的行
/exp$:定位到行末為字串exp的行
n,m ?/exp:從n行到m行向前搜尋字串exp (此命令有待商榷)
n,m |/exp:從n行到m行向前搜尋字串exp (此命令有待商榷)
(8)搜尋替換命令
:s/exp1/exp2/g:將當前行的字串exp1替換成字串exp2
:n,m s/exp1/exp2/g:將n行到m行的字串exp1替換成字串exp2
:g/exp1/exp2/g:將當前行的字串exp1替換成字串exp2
:g/exp1/s//exp2/g:將全文中的字串exp1替換成字串exp2
(9)撤銷命令
u(10)緩衝區命令
預設情況下,vi使用無名緩衝區,例如:雖然將檔案的某些部分刪除了,但仍可以用u命名進行撤銷。
yy:將游標所在的行放入無名緩衝區
y:將游標所在的行放入無名緩衝區
p:將緩衝區中的內容貼上到游標所在的行的下一行
p:將緩衝區中的內容貼上到游標所在的行的上一行
"#yy:將游標所在的行放入緩衝區# (#必須用a~z代替)
"#p:將緩衝區#中的內容貼上到游標所在的行的下一行 (#必須用a~z代替)
"#p:將緩衝區#中的內容貼上到游標所在的行的上一行 (#必須用a~z代替)
"#d:刪除當前行,將當前行的內容放入緩衝區#
(11)其它命令
:set nu:顯示行號
:set nonu:取消行號
:n 定位到下乙個檔案
:n 定位到上乙個檔案
vi 1.c 2.c 3.c:一次開啟3個檔案
首先會開啟1.c,輸入:n命令後,會開啟2.c,再輸入:n命令後,會開啟3.c,
再輸入:n命令後,會開啟2.c,再輸入:n命令後,會開啟1.c。
ctrl+g:顯示當前編輯檔案的資訊
ctrl+l:重新整理螢幕
ctrl+d:向後翻半屏
ctrl+u:向前翻半屏
ctrl+f:向後翻一屏
ctrl+b:向前翻一屏
Ubuntu 系統下安裝vim
在命令列敲入 vi 後按 tab 鍵,可以看到目前系統中只安裝了vi和vim.tiny。vim是從vi發展而來的乙個文字編輯器,功能更強大。而vim.tiny是vim的精簡版,所以,安裝vim勢在必行。1.在ubuntu系統下輸入命令 sudo apt get install vim gtk2.再次...
Linux作業系統下使用vim命令修改檔案
但是當我們刪除和修改的內容過多的時候,我們使用命令列模式,進行修改,這樣方便,快捷,而命令列中,最常用到的是x,dd,u,p這四個命令 x 刪除當前字元 dd 刪除當前行 u 恢復前一步操作 p 複製之前刪除的行。例如,vi etc saikik表示顯示 etc saikik檔案的內容。使用鍵盤上的...
Ubuntu下VIM使用指南
網路上類似的教程都是提示先執行如 下命令 sudo vim etc apt sources.list 但我相信有想當多的人,根本不會用vim。而且,網上可以找到的,關於vi的教程,更是多為能嚇死人的上百頁說明。其實,從我個人的實踐看,完全不需要如此誇張。要完成最基本的編輯,只要熟悉幾個命令,就是把v...