vim編輯器使用介紹

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

1.打開文件

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

2.vim三種基本模式

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

(3)編輯模式進入末行模式讶隐,按一下“:”鍵
(4)末行模式進入編輯模式起胰,按一下“esc”鍵

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

ZZ 保存并退出
ZQ 無條件退出,不保存
:q 退出整份,沒進行任何編輯時
:q! 強制退出待错,不保存
: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ù)字進行指定個數(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)開始的部分并進入插入模式
cb/cB 刪除當(dāng)前單詞從光標(biāo)所在位置至單詞開始的部分并進入插入模式
dw/dW 刪除當(dāng)前單詞從光標(biāo)開始的部分但不進入插入模式
db/dB 刪除當(dāng)前單詞從光標(biāo)所在位置至單詞開始的部分但不進入插入模式
cc:刪除當(dāng)前行并進入插入模式
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)所在行下方進行粘貼,例如光標(biāo)要是在第20行宇整,復(fù)制的內(nèi)容將會粘貼在第20行之后瓶佳。
P(大寫):為已經(jīng)復(fù)制好的內(nèi)容粘貼在光標(biāo)所在行上方進行粘貼,例如光標(biāo)要是在第20行鳞青,復(fù)制的內(nèi)容將會粘貼在第20行之前霸饲。

6.撤消與重做

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

7.改變命令c,刪除后進入編輯模式

cc刪除整行所有字符串,但不會刪除該行臂拓,進入編輯模式

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末行模式厚脉,編輯模式下按“:”進入

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。在替換前提示用戶是否進行取代简逮。

末行模式查找支持正則表達式

例如:

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 進入字符選擇可視化模式悲龟,光標(biāo)經(jīng)過的地方會反白選擇
V 進入行可視化模式,光標(biāo)經(jīng)過的行會反白選擇
Ctrl+v 進入?yún)^(qū)塊可視化模式屋讶,可以用長方形的方式選擇字符。
在可視化模式選擇后可以按须教,y,d,進行復(fù)制和刪除操作

vim多文件編輯功能

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

選項:-o 水平分割窗口
-O:垂直分割窗口

2.文件間切換 和退出

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

3.窗口之間切換

按下ctrl+w組合鍵皿渗,然后按箭頭鍵進行切換
單文件窗口下再進行窗口分割:
按下ctrl+w組合鍵斩芭,然后按s:水平分割窗口
按下ctrl+w組合鍵,然后按v:垂直分割窗口

vim定制

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咖杂,一起剝皮案震驚了整個濱河市庆寺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌翰苫,老刑警劉巖止邮,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奏窑,居然都是意外死亡导披,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門埃唯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撩匕,“玉大人,你說我怎么就攤上這事墨叛≈贡希” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵漠趁,是天一觀的道長扁凛。 經(jīng)常有香客問我,道長闯传,這世上最難降的妖魔是什么谨朝? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮甥绿,結(jié)果婚禮上字币,老公的妹妹穿的比我還像新娘。我一直安慰自己共缕,他們只是感情好洗出,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著图谷,像睡著了一般翩活。 火紅的嫁衣襯著肌膚如雪阱洪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天菠镇,我揣著相機與錄音澄峰,去河邊找鬼。 笑死辟犀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绸硕。 我是一名探鬼主播堂竟,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼玻佩!你這毒婦竟也來了出嘹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咬崔,失蹤者是張志新(化名)和其女友劉穎税稼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垮斯,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡郎仆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兜蠕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扰肌。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖熊杨,靈堂內(nèi)的尸體忽然破棺而出曙旭,到底是詐尸還是另有隱情,我是刑警寧澤晶府,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布桂躏,位于F島的核電站,受9級特大地震影響川陆,放射性物質(zhì)發(fā)生泄漏剂习。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一书劝、第九天 我趴在偏房一處隱蔽的房頂上張望进倍。 院中可真熱鬧,春花似錦购对、人聲如沸猾昆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垂蜗。三九已至楷扬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贴见,已是汗流浹背烘苹。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留片部,地道東北人镣衡。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像档悠,于是被迫代替她去往敵國和親廊鸥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

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