vim編輯器使用介紹

vim是由vi發(fā)展來的一個強(qiáng)大的文本編輯器,代碼補(bǔ)完、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。
vim比較難懂,一開始接觸時,進(jìn)入去了都不知怎么退出,但是我么只要深入學(xué)習(xí),多應(yīng)用,慢慢就會適應(yīng)它。下面介紹下它的一些簡單使用方法。

1.打開文件

vim +n 文件名
vim 文件名
n表示打開文件后讓光標(biāo)直接處于第n行。

2.vim三種基本模式

  • 編輯模式,也叫命令模式,默認(rèn)打開文件時進(jìn)入的就是這個模式,可以進(jìn)行復(fù)制,刪除,替換等編輯操作。
  • 輸入模式
  • 末行模式 ,內(nèi)鍵命令行接口。
    三種模式間之間切換
    (1)編輯模式進(jìn)入輸入模式,在編輯模式下按下下面字母鍵。
    i:insert, 在光標(biāo)所在處輸入,常用
    a: append,在光標(biāo)所在處后方輸入
    o:在光標(biāo)所在處的下方打開一個新行進(jìn)行輸入,常用
    I:在光標(biāo)所在行的行首輸入
    A:在光標(biāo)所在行的行尾輸入
    O:在光標(biāo)所在處的上方打開一個新行進(jìn)行輸入
    (2)輸入模式進(jìn)入編輯模式,按一下esc鍵

(3)編輯模式進(jìn)入末行模式,按一下“:”鍵
(4)末行模式進(jìn)入編輯模式,按一下“esc”鍵

3.關(guān)閉文件##

ZZ 保存并退出
ZQ 無條件退出,不保存
:q 退出,沒進(jìn)行任何編輯時
:q! 強(qiáng)制退出,不保存
:wq 保存并退出
:w /PATH/TO/SOMEFILE 把文件保存到其他目錄下
:r filename 在光標(biāo)后面讀入文件
:n1,n2 w filename 將n1到n2行間內(nèi)容保存到另一文件

4,.光標(biāo)跳轉(zhuǎn)##

字符間跳轉(zhuǎn)
h 左
j 下
k 上
l 右
也可以h,j,k,l 前加數(shù)字,跳轉(zhuǎn)到指定的個數(shù)字符。例如:5h表示向左移動5 個字符,5k表示光標(biāo)同一位置向上移動5行
單詞間跳轉(zhuǎn)
w 光標(biāo)跳到下一單詞的詞首
e 光標(biāo)跳到當(dāng)前或后一個單詞的詞尾
b 跳到當(dāng)前或當(dāng)前單詞的詞首
還可以在前面加數(shù)字進(jìn)行指定個數(shù)單詞跳轉(zhuǎn),例如5w,往前跳5個單詞到詞首
行首行尾跳轉(zhuǎn)
0 數(shù)字0,跳轉(zhuǎn)到行首
^ 跳到行首的第一個非空白字符
$ 跳到行尾
行間跳轉(zhuǎn)
G 跳到最后一行
1G,gg:跳到第一行
nG:跳到指定的n行。例如10G,是跳到第十行
n<Enter> :光標(biāo)向下移動n行

*句間和段間跳轉(zhuǎn)
句間跳轉(zhuǎn),用小括號:)和(。
段間跳轉(zhuǎn),用大括號 ‘{’ 和‘}’ 。

5.翻屏操作

ctrl+f 向文件尾部翻一屏
ctrl+b向文件首部翻一屏
ctrl+d 向文件尾部翻半屏
ctrl+u 向文件首部翻半屏
回車鍵enter:按行往后翻

vim常用的編輯命令

1.字符編輯

x: 刪除光標(biāo)所在的字符
[n]x:刪除刪除光標(biāo)開始指定的往后n個字符,例如,vim這個單詞,假如光標(biāo)在字符v處,編輯模式下輸入3x,刪除vim.。
xp: 交換光標(biāo)所在字符與其后面的字符的位置,例如,要是光標(biāo)在單詞vi的v上面,編輯模式下輸入xp,則他們的位置會改為iv。

2.替換命令

r:替換光標(biāo)所在處的單個字符,編輯模式下輸入一次r后,再輸入想要替換為的字符即可。

3.刪除命令

dd 刪除當(dāng)前行
ndd:刪除光標(biāo)所在向下n行。例如10dd,刪除20行
x:刪除光標(biāo)后面一個字符
X:刪除光標(biāo)前面一個字符
nx:n為數(shù)字,刪除光標(biāo)后面連續(xù)n個字符,例如10x。連續(xù)刪除10個字符
d0 刪除從當(dāng)前光標(biāo)開始到行末的內(nèi)容
d$ 刪除從當(dāng)前光標(biāo)開始到行末的內(nèi)容
cw/cW 刪除當(dāng)前單詞從光標(biāo)開始的部分并進(jìn)入插入模式
cb/cB 刪除當(dāng)前單詞從光標(biāo)所在位置至單詞開始的部分并進(jìn)入插入模式
dw/dW 刪除當(dāng)前單詞從光標(biāo)開始的部分但不進(jìn)入插入模式
db/dB 刪除當(dāng)前單詞從光標(biāo)所在位置至單詞開始的部分但不進(jìn)入插入模式
cc:刪除當(dāng)前行并進(jìn)入插入模式
d} 刪除當(dāng)前段落從光標(biāo)位置開始到段末的內(nèi)容
d{ 刪除當(dāng)前段落從光標(biāo)位置開始到段首的內(nèi)容
d) 刪除當(dāng)前句子從光標(biāo)位置開始到句末的內(nèi)容
d( 刪除當(dāng)前句子從光標(biāo)位置開始到句首的內(nèi)容

4.復(fù)制命令

yw 復(fù)制當(dāng)前單詞從光標(biāo)開始的部分
yy 復(fù)制光標(biāo)所在行的所有字符
nyy:復(fù)制光標(biāo)開始往后n行,例如5yy,復(fù)制5行
y$復(fù)制光標(biāo)開始到行尾字符
y^復(fù)制光標(biāo)開始到行首字符
y0復(fù)制光標(biāo)所在行行首到光標(biāo)位置字符

5.粘貼命令 p

p:為已經(jīng)復(fù)制好的內(nèi)容粘貼在光標(biāo)所在行下方進(jìn)行粘貼,例如光標(biāo)要是在第20行,復(fù)制的內(nèi)容將會粘貼在第20行之后。
P(大寫):為已經(jīng)復(fù)制好的內(nèi)容粘貼在光標(biāo)所在行上方進(jìn)行粘貼,例如光標(biāo)要是在第20行,復(fù)制的內(nèi)容將會粘貼在第20行之前。

6.撤消與重做

u 撤消更改
Ctrl-R 重做更改
“.”重復(fù)執(zhí)行上一個操作

7.改變命令c,刪除后進(jìn)入編輯模式

cc刪除整行所有字符串,但不會刪除該行,進(jìn)入編輯模式

8.大小寫轉(zhuǎn)換

~ 將光標(biāo)下的字母大小寫反向轉(zhuǎn)換
guw 將光標(biāo)所在的單詞變?yōu)樾?br> guw 將光標(biāo)所在的單詞變?yōu)樾?br> gUw 將光標(biāo)所在的單詞變?yōu)榇髮?br> guu 光標(biāo)所在的行所有字符變?yōu)樾?br> gUU 光標(biāo)所在的行所有字符變?yōu)榇髮?br> g~~ 光標(biāo)所在的行所有字符大小寫反向轉(zhuǎn)換

vim末行模式,編輯模式下按“:”進(jìn)入

1.地址定界

: n 光標(biāo)轉(zhuǎn)到第n行,例如5,轉(zhuǎn)到第五行
$ :到最后一行
n1,n2 :指定行范圍,n1為起始行,n2為結(jié)束行
% :全文
一般配合d,y,c命令使用,例如1,10d刪除1到10行
w :/PATH/TO/SOMEFILE:將范圍內(nèi)的文本保存至指定的文件中.例如 10,20 w /tmp/1020.txt ,將10到20行保存到tmp目錄下的1020.txt文件中

2.查找與替換

/abc :從光標(biāo)開始向文件尾部開始查找所有為abc字符串
?abc :從光標(biāo)開始向文件首部開始查找所有為abc字符串
n 重復(fù)前一個搜索動作,搜索下一個 ,和命令方向相同
N 反向搜索下一個,和命令方向相反

  • :在文件中向前搜索當(dāng)前光標(biāo)所在的單詞
    “#” :在文件中向后搜索當(dāng)前光標(biāo)所在的單詞
  • 查找與替換格式分隔符:s/.../.../ ,s@@@,s###,三種后面加g是全局查找意思,例如
    s###g。
  • :n1,n2s#word1#word2#g n1,n2為數(shù)字。意思是在n1,n2
    行之間查找word1這個字符串并替換為word2,例如:100,200s#for#FOR#g,在100到200行之間查找for這單詞,替換為大寫FOR。
  • :1,$s#word1#word2#g 意思是在第1行到最后一行查找word1這個字符串并替換為word2。
  • :1,$s#word1#word2#gc 在第1行到最后一行查找word1這個字符串并替換為word2。在替換前提示用戶是否進(jìn)行取代。

末行模式查找支持正則表達(dá)式

例如:

1、復(fù)制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#
:1,$s@^[[:space:]]@#@g
2.復(fù)制/boot/grub/grub.conf文件至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符
:%s@^[[:space:]]+@@g
3.刪除/tmp/rc.sysinit文件中的以#開頭,且后面跟至少一個空白字符的行行的#和空白字符
:%s@^#[[:space:]]+@@gc
4.為/tmp/grub.conf文件中的前三行的行首加#號
:1,3s@^#@##@g
5.將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0最后的0改為1

:%s#\(enabled\|gpgcheck\)=0#\1=1#g

vim可視化

可視化是為了便于選擇文本,vim引入的一種模式
在編輯模式下按下面的字母:
v 進(jìn)入字符選擇可視化模式,光標(biāo)經(jīng)過的地方會反白選擇
V 進(jìn)入行可視化模式,光標(biāo)經(jīng)過的行會反白選擇
Ctrl+v 進(jìn)入?yún)^(qū)塊可視化模式,可以用長方形的方式選擇字符。
在可視化模式選擇后可以按,y,d,進(jìn)行復(fù)制和刪除操作

vim多文件編輯功能

1.打開多文件 vim file1 file2 .......

選項(xiàng):-o 水平分割窗口
-O:垂直分割窗口

2.文件間切換 和退出

:next切到下一個文件
:prev切到上一個文件
:first切到第一個文件
:last 切到最后一個文件
:wqall所有文件保存并退出
:wall保存所有文件
:qall退出所有文件

3.窗口之間切換

按下ctrl+w組合鍵,然后按箭頭鍵進(jìn)行切換
單文件窗口下再進(jìn)行窗口分割:
按下ctrl+w組合鍵,然后按s:水平分割窗口
按下ctrl+w組合鍵,然后按v:垂直分割窗口

vim定制

1、行號
顯示:set number, 簡寫為set nu
取消顯示:set nomber, set nonu
2、括號匹配高亮
匹配:set showmatch, set sm
取消:set nosm
3、自動縮進(jìn)
啟用:set ai
禁用:set noai
4、高亮搜索
啟用:set hlsearch
禁用:set nohlsearch
:noh 取消搜索后結(jié)果的高亮顯示
5、語法高亮
啟用:syntax on
禁用:syntax off
6、忽略字符大小寫
啟用:set ic
禁用:set noic
7.設(shè)置tab鍵縮進(jìn)4個字符;set tabstop=4
8.set autoindent 設(shè)置自動縮進(jìn)

  1. set shiftwidth=4 表示每一級縮進(jìn)的長度為4個空格

注意:在末行模式下的設(shè)定,僅對當(dāng)前vim進(jìn)程有效。
要永久有效:修改全局配置文件:/etc/vimrc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧!),在windows上也...
    何必遠(yuǎn)方閱讀 3,329評論 0 3
  • 一.vi的基本概念文本編輯器有很多,圖形模式下有g(shù)edit、kwrite等編輯器,文本模式下的編輯器有vi、vim...
    一線碼農(nóng)閱讀 815評論 0 0
  • 目錄(?)[-] 關(guān)于Vim 1 Vim的幾種模式 啟動Vim 文檔操作 光標(biāo)的移動 1 基本移動 2 翻屏 3 ...
    SunnyLeong閱讀 9,021評論 0 32
  • 夜,很黑,沒有星星 你明明就在我的眼前,可是我怎么也尋不到你 我在吶喊聲中呼喚你 波濤翻滾,千里浩瀚 歸帆點(diǎn)點(diǎn)中沒...
    水墨故事閱讀 260評論 0 0
  • 說在前頭 時間匆匆流逝,8月已經(jīng)過去三周了,在最開始的兩周,每天堅(jiān)持打卡,堅(jiān)持輸入和輸出,而這一周的周四、周五,我...
    Tom_說閱讀 5,695評論 14 1

友情鏈接更多精彩內(nèi)容