vim快捷鍵

轉(zhuǎn)自:http://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html
vim 常用快捷鍵
1、vim ~/.vimrc 進(jìn)入配置文件

如果不知道vimrc文件在哪景醇,可使用 :scriptnames 來(lái)查看

set nu      #行號(hào)

set tabstop=4  #一個(gè)tab為4個(gè)空格長(zhǎng)度

set ai #設(shè)置自動(dòng)縮進(jìn)

syntax on #高亮

2宵距、基本

空格鍵 向右移動(dòng)一格

x 刪除后面的字符 X 刪除前一個(gè)字符 刪除3個(gè)字符就是3x

dd:刪除一行 D 刪除到行尾

caw:改寫(xiě)單詞 c 相當(dāng)于 d 變?yōu)榫庉嬆J?/p>

J:刪除換行符,使下一行并上來(lái)愁溜。 nJ:連接后面的n行

u:撤銷(xiāo)上一次操作 U:撤銷(xiāo)當(dāng)前行的所有修改

ctrl+r:對(duì)撤消的撤消

i 在光標(biāo)前插入

I 在行首插入
a 在光標(biāo)后插入

A 在行末插入

o:在當(dāng)前行的下面另起一行,并變?yōu)椴迦肽J?/p>

O:在當(dāng)前行上面另起一行,變?yōu)椴迦肽J?/p>

Ctrl+o:臨時(shí)變成命令模式(一次而已)

:e!:放棄更改郭蕉,然后相當(dāng)于重新打開(kāi)

:help:幫助,可用ZZ退出幫助窗口

vim中Nyy可以復(fù)制光標(biāo)后的N行喂江。有時(shí)我們不容易得出行數(shù)召锈,這時(shí)可以用做標(biāo)記的方法來(lái)制定復(fù)制范圍:

1. 在開(kāi)始行上輸入ma作一個(gè)標(biāo)記a

2. 移動(dòng)到結(jié)束行,輸入y'a會(huì)復(fù)制當(dāng)前行到標(biāo)記a之間的文本获询。d'a會(huì)刪除涨岁。

或者是v進(jìn)入可視模式,再13G跳轉(zhuǎn)到相應(yīng)行吉嚣,y即可卵惦。

:10,20y 回車(chē)即可,相應(yīng)的刪除也是如此 :10,20d (此方法比上面兩種方法更簡(jiǎn)單)

:10,20 m 30 把10行到20行的內(nèi)容瓦戚,剪切到30行之后

:10,20 co 30 把10行到20行的內(nèi)容沮尿,復(fù)制到30行之后

將光標(biāo)放在 { 處,然后輸入v%就可以把大括號(hào)中內(nèi)容選定

如果光標(biāo)放在第一個(gè)s上,想刪除到“(”為止畜疾,則輸入dt(就可以了赴邻,t(的作用是跳到下一個(gè)"("前。

ctrl +n 自動(dòng)補(bǔ)全 ctrl + p 也一樣

:ab hw hello world 用一個(gè)縮寫(xiě)字符串代替一個(gè)長(zhǎng)的字符串啡捶,此處用 hw 代替 hello world

%: 移動(dòng)到與制匹配的括號(hào)上去()姥敛,{},[]瞎暑,<>等

' 移動(dòng)到上一次的修改行

fx 向右跳到本行字符x處(x可以是任何字符)
Fx 向左跳到本行字符x處(x可以是任何字符)
tx 和fx相同彤敛,區(qū)別是跳到字符x前
Tx 和Fx相同,區(qū)別是跳到字符x后

到與當(dāng)前單詞相同的上一個(gè)單詞上了赌, * 到與當(dāng)前單詞相同的下一個(gè)單詞上

如果你要重復(fù)鍵入一個(gè)短語(yǔ)或一個(gè)句子, 也有一種快捷的方法墨榄。Vim有一種記錄宏的機(jī)制。你鍵入"qa"開(kāi)始把一段宏記錄入寄存器變量a'中勿她。 按下來(lái)你可以象平常一樣鍵入你要的操作, 只是這些操作都會(huì)被Vim記錄進(jìn)它命名為a'的宏中, 再次再下"q"鍵, 就結(jié)束了宏`a'的錄制袄秩。當(dāng)你要重復(fù)執(zhí)行你剛才記錄的那些操作時(shí)只要使用"@a"命令。共有26個(gè)可用的寄存器供你記錄宏逢并。 使用宏你可以重復(fù)多個(gè)不同的操作之剧。而不僅僅是插入文本了。如果你要進(jìn)行某種重復(fù)的操作, 記著要用這一招呀砍聊。

:abbr hte the

:abbr hw Hello World

輸入先面的單詞時(shí)背稼,自動(dòng)用后面的替換。

3玻蝌、移動(dòng):

b蟹肘、3b、w灶伊、3w:向前\后移動(dòng)幾個(gè)單詞疆前,標(biāo)點(diǎn)也算一個(gè)單詞。相應(yīng)的大寫(xiě)狀態(tài)為不含標(biāo)點(diǎn)聘萨,即只把空格和換行符作為單詞間隔符竹椒。

$:移動(dòng)到行尾 3$:移動(dòng)到3行后的行尾

^:移動(dòng)到行首,0也是

+:移到下一行的行首

-: 移到上一行的行首

f:搜索命令米辐,小寫(xiě)時(shí)向后搜索(用來(lái)定位)如 fx:定位到下一個(gè)x上胸完。 Fx:定位到上一個(gè)x上,重復(fù)時(shí)翘贮,可用;或, 不過(guò) , 表示反方向

%:跳到相對(duì)應(yīng)的括號(hào)上赊窥,編程時(shí)常用

33G:跳轉(zhuǎn)到33行 此時(shí)按``可以返回到原來(lái)行

gg:文件頭 G: 文件尾

30%:跳轉(zhuǎn)到文件的30%處

"H"意為Home, "M"為Middle, "L"為L(zhǎng)ast. 當(dāng)前屏幕的上中下位置,大小寫(xiě)皆可

Ctrl+G:顯示當(dāng)前位置

set number:設(shè)置顯示行號(hào)狸页,set nonumber:關(guān)閉顯示

:set ruler 設(shè)置在窗口右下角顯示行號(hào)锨能,與上面的好處是扯再,節(jié)省空間

ctrl+u\d 向上\下滾動(dòng)半屏

ctrl+e\y 向上\下滾動(dòng)一行

ctrl+b\f 向上\下滾動(dòng)一屏  這個(gè)比較實(shí)用,記住址遇。

zz:將當(dāng)前行滾動(dòng)于屏幕中間熄阻,方便查看上下文 zt置頂,zb置尾

/string 查找string倔约,回車(chē)后秃殉,按n鍵可以跳到下一個(gè),N上一個(gè)浸剩,另外按/鍵后钾军,按上下鍵可以找到以前查找的記錄,同樣的 :也有記錄

?/string 同上绢要,默認(rèn)向上查找

:set ignorecase 大小寫(xiě)無(wú)關(guān)

:set noignorecase 大小寫(xiě)敏感

  • :查找下一個(gè)光標(biāo)所在單詞 #是查找上一個(gè)

:set hlsearch 高亮顯示查找結(jié)果

:set nohlsearch 取消高亮

:nohlsearch 去掉當(dāng)前顯示的高完(一次性)

`` 上次光標(biāo)屠艄В靠的行

% 匹配到相應(yīng)括號(hào)處

向右移動(dòng)本行一段距離 << 向左移動(dòng)本行一段距離 3<< 把下面3行(包括本行),向左移動(dòng)一段距離 :20,30>> 把20行到30行向右移動(dòng)一段距離

4袖扛、小幅改動(dòng):

:%s/str1/str2/g 替換每一行的 str1為 str2

:10,20s/str1/str2/g 替換從行10到行20之間的 str1為 str2

:10,$s/str1/str2/g 替換從行10到最后一行之間的 str1為 str2

:s/str1/str2/g 替換當(dāng)前行的 str1為 str2

. 重復(fù)執(zhí)行命令

:10,$ w test2.cpp 取行10到最后一行內(nèi)容砸泛,保存到test2.cpp

:r class/User.hpp 讀取文件中的內(nèi)容十籍,插入到當(dāng)前行的后面

dw:刪除一個(gè)單詞(光標(biāo)后部分) 不如:daw實(shí)用    d4w:刪除4個(gè)單詞    d$:刪除當(dāng)前光標(biāo)到行尾    d^:刪除當(dāng)前光標(biāo)至行首     d換成c效果是一樣的蛆封,只是操作完會(huì)變成insert模式 dnw: 刪除N個(gè)單詞 dnj: 向下刪除n行 dnk: 向上刪除n行

X:刪除左邊的字符,相當(dāng)于<-鍵勾栗,x刪除當(dāng)前字符  D:相當(dāng)于d$  C:相當(dāng)于c$  s:相當(dāng)于c1  S:相當(dāng)于cc

r:替換當(dāng)前字符惨篱,但不會(huì)進(jìn)入insert模式    3r:把后面3個(gè)字符替換掉    R:替換模式

.:重復(fù)上一次操作

v:進(jìn)入Visual模式    V:進(jìn)入可視行模式,比如 Vjjd 刪除3行  Ctrl+v:可視塊模式

P:粘貼至光標(biāo)前    p:粘貼至光標(biāo)后    3P:粘貼3次 "2p 粘貼最后第二次的刪除的內(nèi)容

yy:復(fù)制一行  yaw: 復(fù)制一個(gè)單詞,光標(biāo)在單詞任意位置 ynw: 復(fù)制N個(gè)單詞 ynj: 向下復(fù)制n行 ynk: 向上復(fù)制n行

自動(dòng)縮進(jìn):

:set cindent(所有的set都可以簡(jiǎn)寫(xiě)為se,雖然只節(jié)省了一個(gè)字符, 譯者注) 需要注意的是cindent控制縮進(jìn)量是通過(guò)shiftwidth選項(xiàng)的值, 而不是通過(guò)tabstop 的值, shiftwidth的默認(rèn)值是8(也就是說(shuō), 一個(gè)縮進(jìn)為8個(gè)空格, 譯者注), 要改變默認(rèn)的設(shè)置, 可以使用":set shiftwidth=x"命令, 其中x是你希望一個(gè)縮進(jìn)量代表的空格的數(shù)目.

{ = 到前一個(gè)空行上
} = 到下一個(gè)空行上

5围俘、VIM的一些插件:

c.vim :如果是用root賬號(hào)的砸讳,把文件復(fù)制到/usr/share/vim/vim70中解壓沒(méi)有用的,不存在 $HOME/.vim 這個(gè)目錄界牡,沒(méi)辦法簿寂,只能新建個(gè)目錄,然后把壓縮包c(diǎn)p到這個(gè)目錄宿亡,再u(mài)nzip即可常遂。在 ~/.vimrc 中 寫(xiě)入 filetype plugin on

:e! 返回上次保存后的狀態(tài)

Ctrl+z:暫停vi,回到Unix提示符,再輸入fg即可回到vi挽荠。

^回到行首克胳,光標(biāo)位于行首字母處;0回到行首圈匆,光標(biāo)位于行首字母前漠另。$回到行尾,光標(biāo)位于行尾字母處跃赚。

nb:向前移動(dòng)n個(gè)單詞笆搓,nw:向后移動(dòng)n個(gè)單詞。光標(biāo)位于單詞的第一個(gè)字母處。 nw這個(gè)操作很慢满败,不知何故窘奏。 以空格、標(biāo)點(diǎn)符號(hào)與單詞的分界為分隔符葫录。(幾個(gè)連續(xù)的標(biāo)點(diǎn)視為一個(gè)單詞)

同樣的着裹,也可以使用nB,nW,只是這里只使用空格做為分隔符米同。

相換兩個(gè)相鄰字母的位置:x骇扇、p

s:刪除一個(gè)字符,并進(jìn)入編輯模式面粮。 S:刪除一整行少孝,進(jìn)入編輯模式,相當(dāng)于cc熬苍。 ns:刪除后面n個(gè)字符稍走,并進(jìn)入編輯模式。

~:更改字母的大小寫(xiě)柴底,同時(shí)光標(biāo)進(jìn)入到下一個(gè)字符婿脸。 n~:把后面n個(gè)字母的大小寫(xiě)狀態(tài)改變。

dw:刪除單詞后面部分 db:刪除單詞前面部分柄驻。 如果要?jiǎng)h除整個(gè)單詞(光標(biāo)位于單詞中間的話)狐树,可以 dbw\wdb

de:類(lèi)似于dw,刪除單詞后面的部分(只刪除到本單詞結(jié)尾,dw會(huì)刪除掉單詞后面的空格) dE:刪除的范圍包括標(biāo)號(hào)在內(nèi)的單詞結(jié)尾鸿脓。

e:相當(dāng)于w抑钟,向后移動(dòng)一個(gè)單詞。不同的是野哭,w移動(dòng)到單詞第一個(gè)字符上在塔,e移動(dòng)到單詞最后一個(gè)字符上。 所以ea,可以給本單詞追加內(nèi)容拨黔。

D:d$ 的簡(jiǎn)寫(xiě)蛔溃,同樣的,C:c$的簡(jiǎn)寫(xiě)蓉驹。

U:會(huì)恢復(fù)一整行原先的面貌城榛,即最原始的樣子。

Y:相當(dāng)于yy态兴,不同于D與C的操作方法狠持。

.:重復(fù)上一個(gè)命令。

除了O/o瞻润,插入命令(A,a,I,i)接受數(shù)值參數(shù)喘垂,如:5Ihello甜刻,然后按ESE鍵。會(huì)在行首輸入5個(gè)連接的hello

nr:替換后面n個(gè)字符正勒。

nJ:合并下面的n行(從本行算起)得院。

ynl:向后復(fù)制n個(gè)字符。

e/E:到單詞的結(jié)尾章贞。

滾動(dòng)整屏:

^f:向前(下)一整屏

^b:向后(上)一整屏

^d:向前(下)一半屏

^u:向后(上)一半屏

z,Enter:將光標(biāo)所在行移動(dòng)到屏幕頂部(同于zz)

z.:將光標(biāo)所在行移動(dòng)到屏幕中間

z-:將光標(biāo)所在行移動(dòng)到屏幕尾部

nz,Enter:將第n行移動(dòng)到屏幕頂部祥绞,同樣的,z. 與 z- 前也可以加數(shù)字鸭限。

在屏幕中移動(dòng):

H蜕径、M、L分別移動(dòng)到屏幕的頂部败京、中間和尾部兜喻。

nH、nL 移動(dòng)到距離屏幕頂部和頂部n行的位置赡麦。

Enter:到下一行的第一個(gè)字符朴皆。

+:到下一行的第一個(gè)字符。

-:到上一行的第一個(gè)字符泛粹。

n|:移動(dòng)到當(dāng)前行的第n列

e:移到單詞的結(jié)尾

E:移到單詞的結(jié)尾(忽略標(biāo)點(diǎn)符號(hào))

( ) { } [[ ]] 這幾個(gè)對(duì)編程作用不大遂铡,可忽略。

d/it:向后刪除到it之前的位置(不刪it)戚扳。 d?it:向前刪除到it之前的位置(刪除it)忧便。

fx:本行中向右搜索x族吻,光標(biāo)置于x上帽借。 Fx:向左搜索。; 重復(fù)上一個(gè)搜索命令超歌,方向相同砍艾。 ,重復(fù)上一個(gè)搜索命令,方向相反巍举。

tx:同fx脆荷,只是光標(biāo)置于x之前。 Tx類(lèi)似懊悯。

dfi:向右刪除第一個(gè)i的位置(包括i) dti:同dfi蜓谋,只是不包括i

Ctrl+G 查看當(dāng)前行信息

nG跳轉(zhuǎn)后,可使用``回到上一次的位置炭分,''功能一樣桃焕,不過(guò)只是回到前次位置所在行的開(kāi)頭,而不是確定的位置上捧毛。

刪除包含keyword字符串的行: :g/keyword/d

刪除空行::%s/^\n$//g

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末观堂,一起剝皮案震驚了整個(gè)濱河市让网,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌师痕,老刑警劉巖溃睹,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異胰坟,居然都是意外死亡因篇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)笔横,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惜犀,“玉大人,你說(shuō)我怎么就攤上這事狠裹∷浣纾” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵涛菠,是天一觀的道長(zhǎng)莉御。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俗冻,這世上最難降的妖魔是什么礁叔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮迄薄,結(jié)果婚禮上琅关,老公的妹妹穿的比我還像新娘。我一直安慰自己讥蔽,他們只是感情好涣易,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著冶伞,像睡著了一般新症。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上响禽,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天徒爹,我揣著相機(jī)與錄音,去河邊找鬼芋类。 笑死隆嗅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侯繁。 我是一名探鬼主播胖喳,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼巫击!你這毒婦竟也來(lái)了禀晓?” 一聲冷哼從身側(cè)響起精续,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粹懒,沒(méi)想到半個(gè)月后重付,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凫乖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年确垫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帽芽。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡删掀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出导街,到底是詐尸還是另有隱情披泪,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布搬瑰,位于F島的核電站款票,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泽论。R本人自食惡果不足惜艾少,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翼悴。 院中可真熱鬧缚够,春花似錦、人聲如沸鹦赎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钙姊。三九已至毯辅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間煞额,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工沾谜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膊毁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓基跑,卻偏偏與公主長(zhǎng)得像婚温,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子媳否,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 曾經(jīng)在思科的工廠測(cè)試系統(tǒng)`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超過(guò)2年半栅螟,現(xiàn)在...
    戈多在地獄閱讀 1,797評(píng)論 1 13
  • 一荆秦、移動(dòng)光標(biāo)1、左移h力图、右移l步绸、下移j、上移k2吃媒、向下翻頁(yè)ctrl + f瓤介,向上翻頁(yè)ctrl + b3、向下翻半頁(yè)...
    ainiok閱讀 514評(píng)論 0 1
  • Vim簡(jiǎn)介 Vim 編輯器是一個(gè)模式編輯器赘那。這意味著在不同狀態(tài)下編輯器有不同 的行為模式刑桑。Vim編輯程序有三種操作...
    逝水流華年閱讀 1,160評(píng)論 0 14
  • 一. 移動(dòng): h,j,k,l: 左,下募舟,上祠斧,右。 w: 下一個(gè)詞的詞首拱礁。 e:下一個(gè)詞的詞尾梁肿。 b:上一個(gè)詞的詞首...
    xqm_michael閱讀 402評(píng)論 0 0
  • 移動(dòng) h,j,k,l: 左,下觅彰,上吩蔑,右。 w: 下一個(gè)詞的詞首填抬。 e:下一個(gè)詞的詞尾烛芬。 b:上一個(gè)詞的詞首。 <>...
    fuyoufang閱讀 467評(píng)論 0 0