【Linux】Vim編輯器常用命令


1. 啟動vim:vim 文件名(如果是不存在的,則新建)

2. 打開文件:vim 文件名(文件必須存在)

3. vim的模式

  • 正常模式(按Esc或Ctrl+[進入) 左下角顯示文件名或為空

以vi打開一個文件就直接進入一般模式了(這是默認的模式)。在這個模式中, 你可以使用上下左右按鍵來移動光標,你可以使用刪除字符或刪除整行來處理文件內容,也可以使用復制、粘貼來處理你的文件數據。

  • 插入模式(按i鍵進入) 左下角顯示--INSERT—

在一般模式中可以進行刪除、復制、粘貼等的操作,但是卻無法編輯文件的內容,只有當到你按下【i, I, o, O, a, A, r, R】等任何一個字母之后才會進入編輯模式。這時候屏幕的左下方會出現【INSERT或 REPLACE】的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下【Esc】即可退出編輯模式。

  • 可視模式(不知道如何進入) 左下角顯示--VISUAL—
  • 命令行控制界面(shift+:)

輸入【 : / ? 】三個中的任何一個,就可以將光標移動到最底下那一行。在這個模式中,可以提供查找、讀取、存盤、替換字符、離開vi、顯示行號等的動作則是在此模式中完成的!

4. 插入命令

i	在當前位置生前插入
I	在當前行首插入
a	在當前位置后插入
A	在當前行尾插入
o	在當前行之后插入一行
O	在當前行之前插入一行

【r, R】 進入取代模式:

r   只會取代光標所在的那一個字符一次
R   會一直取代光標所在的文字,直到按下 ESC 為止;

5. 移動命令

h	        左移一個字符
l	        右移一個字符,這個命令很少用,一般用w代替。
k	        上移一個字符
j	        下移一個字符
w           光標跳到下個字的開頭
e           光標跳到下個字的字尾
H           光標移動到這個屏幕的最上方那一行的第一個字符
M           光標移動到這個屏幕的中間那一行的第一個字符
L           光標移動到這個屏幕的最下方那一行的第一個字符
G           移動到這個文件的最后一行
nG          移動到這個文件的第n行(可配合:set nu)
gg          移動到這個文件的第一行,相當於1G
End         移動到這一行的最后面字符處:$,我測試好像不行
Home        移動到這一行的最前面字符處:0數字,但不能用數字小鍵盤上的數字
Ctrl + e	向下滾動一行
Ctrl + y	向上滾動一行
Ctrl + d	向下滾動半屏
Ctrl + u	向上滾動半屏
Ctrl + f	向下滾動一屏
Ctrl + b	向上滾動一屏
n<space>    光標向右移動n個字符
n<Enter>    光標向下移動n行

6. 撤銷和重做

u		    撤銷(Undo)
U		    撤銷對整行的操作
trl + r		重做(Redo),即撤銷的撤銷。

7. 刪除命令

x	                刪除當前字符
X	                刪除當前字符的前一個字符。X=dh
nx                  連續向后刪除n個字符
3x	                刪除當前光標開始向后三個字符
D	                刪除當前字符至行尾。D=d$
dl	                刪除當前字符, dl=x
dh	                刪除前一個字符
dd	                刪除當前行
dj	                刪除上一行
dk	                刪除下一行
d$                  刪除光標所在處,到該行的最后一個字符
d0                  刪除光標所在處,到該行的最前一個字符
dG                  刪除光標所在到最后一行的所有數據
d1G                 刪除光標所在行到第一行的所有數據
d$	                刪除當前字符之后的所有字符(本行)
ndd                 刪除光標所在的向下n行
10d	                刪除當前行開始的10行。
kdgg	            刪除當前行之前所有行(不包括當前行)
:1,$d	            刪除所有行
:1,10d	            刪除1-10行
:11,$d	            刪除11行及以后所有的行
J(shift + j)	    刪除兩行之間的空行,實際上是合並兩行。
jdG(jd shift + g)	刪除當前行之后所有行(不包括當前行)

8. 復制和粘貼

p在當前光標后粘貼,如果之前使用了yy命令來復制一行,就在當前行的下一行粘貼。

p               將已復制的數據在光標下一行粘貼上
P               則為貼在光標的上一行

yy              復制當前行
y0              復制光標所在的那個字符到該行行首的所有數據
y$              復制光標所在的那個字符到該行行尾的所有數據
yG              復制光標所在行到最后一行的所有數據
y1G             復制光標所在行到第一行的所有數據
nyy	            拷貝當前后開始的n行,比如2yy拷貝當前行及其下一行。
u               恢復前一個操作
Ctrl+r          重做上一個操作
.               是重復前一個操作
shift+p		    在當前行前粘貼
:1,10 co 20	    將1-10行插入到第20行之后。
:1,$ co $	    將整個文件復制一份並添加到文件尾部。

正常模式下按v(逐字)或V(逐行)進入可視模式,然后用jklh命令移動即可選擇某些行或字符,再按y即可復制d

dp	交換當前行和其下一行
xp	交換當前字符和其后一個字符

9. 剪切命令

正常模式下按v(逐字)或V(逐行)進入可視模式,然后用jklh命令移動即可選擇某些行或字符,再按d即可剪切

ndd		    剪切當前行之后的n行。利用p命令可以對剪切的內容進行粘貼
:1,10d		將1-10行剪切。利用p命令可將剪切后的內容進行粘貼。
:1, 10m		20 將第1-10行移動到第20行之后。

10. 高亮命令

shift+*     向下查找並高亮顯示
shift+#     向上查找並高亮顯示
g+d         高亮顯示光標所屬單詞,
n           查找!

在vim編輯器中執行   :nohlsearch
永不出現,可以用    set nohlsearch

11. 退出命令

:w          保存編輯的內容
:w!         強制寫入該文件,但跟你對該文件的權限有關
:q          離開vi
:q!	        強制退出並忽略所有更改
:wq         保存后離開
:x          保存后離開
:e!	        放棄所有修改,並打開原來文件。
ZZ          若文件沒有更動,則不保存離開,若文件已經被更改過,則保存后離開

12. 命令行命令

:w filename         將編輯的數據保存成另一個文件(類似另存)
:r filename         在編輯的數據中,讀入另一個文件的數據。即將【filename】 這個文件的內容加到光標所在行后面。

:n1,n2 w filename   將n1到n2的內容保存成filename這個文件。
:! command          暫時離開vi 到命令行模式下執行command的顯示結果!
"""例如 【:! ls /home】即可在 vi 當中察看/home底下以ls輸出的文件信息!""" 

:set nu             顯示行號
:set nonu           與 set nu 相反,為取消行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM