Vim入門

Vim入門.png

編輯模式

移動

h宇挫、j肩榕、k塘雳、l上下左右移動
ctrl+f在文件中前移一頁(相當(dāng)于 page down)
ctrl+b在文件中后移一頁(相當(dāng)于 page up)
*在文件中搜索當(dāng)前光標(biāo)所在的單詞匾效,并移動到下一處
#在文件中搜索當(dāng)前光標(biāo)所在的單詞舷蟀,并移動到下一處
()移動到前/后句的開始
{面哼、}跳轉(zhuǎn)到當(dāng)前/下一個段落的開始
g_到本行最后一個不是 blank 字符的位置
fa到下一個為 a 的字符處野宜,也可以fs到下一個為s的字符
t,到逗號前的第一個字符。逗號可以變成其它字符
3fa在當(dāng)前行查找第三個出現(xiàn)的a
F魔策、T和f以及t一樣匈子,只是方向相反
gg將光標(biāo)定位到文件第一行起始位置
G將光標(biāo)定位到文件最后一行起始位置
NGNgg將光標(biāo)定位到第N行起始位置
H將光標(biāo)移動到屏幕的起始行
M將光標(biāo)移動到屏幕中間
L將光標(biāo)移動到屏幕最后一行
w右移光標(biāo)到下一個字的開頭
e右移光標(biāo)到下一個字的末尾
b左移光標(biāo)到前一個字的開頭
0數(shù)字0,左移光標(biāo)到本行的開始
$右移光標(biāo)到當(dāng)前行末尾
^移動光標(biāo)到本行的第一個非空字符

搜索匹配

/str正向搜索字符串:str
n繼續(xù)搜索str下一次出現(xiàn)的位置
N繼續(xù)搜索str上一次出現(xiàn)的位置
?str反向搜索字符串str

替換和刪除

rc用c替換光標(biāo)所指向的當(dāng)前字符
nrc用c替換光標(biāo)所指向的前n個字符
5rA用A替換光標(biāo)所指向的前5個字符
x刪除光標(biāo)所指向的當(dāng)前字符
nx刪除光標(biāo)所指向的前n個字符
dw刪除光標(biāo)右側(cè)的字符
ndw刪除光標(biāo)右側(cè)的n個字符
db刪除光標(biāo)左側(cè)的字符
ndb刪除光標(biāo)左側(cè)的n個字符
dd刪除光標(biāo)所在行
ndd刪除(剪切)n行內(nèi)容闯袒,并取出空隙
s用輸入的正文替換光標(biāo)所指向的字符
S刪除當(dāng)前行虎敦,并進入編輯模式
ns用輸入的正文替換光標(biāo)右側(cè) n 個字符
nS刪除當(dāng)前行在內(nèi)的 n 行,并進入編輯模式
cw用輸入的正文替換光標(biāo)右側(cè)的字
cW用輸入的正文替換從光標(biāo)到行尾的所有字符(同 c$ )
ncw用輸入的正文替換光標(biāo)右側(cè)的 n 個字
cb用輸入的正文替換光標(biāo)左側(cè)的字
ncb用輸入的正文替換光標(biāo)左側(cè)的 n 個字
cd用輸入的正文替換光標(biāo)的所在行
ncd用輸入的正文替換光標(biāo)下面的 n 行
c$用輸入的正文替換從光標(biāo)開始到本行末尾的所有字符
c0用輸入的正文替換從本行開頭到光標(biāo)的所有字符

復(fù)制粘貼

p小寫p政敢,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)區(qū)后面
P大寫P其徙,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)區(qū)前面
yy復(fù)制當(dāng)前行到內(nèi)存緩沖區(qū)
nyy復(fù)制n行內(nèi)容到內(nèi)存緩沖區(qū)
“+y復(fù)制1行到操作系統(tǒng)粘貼板
“+nyy復(fù)制n行到操作系統(tǒng)粘貼板

撤銷和重復(fù)

u撤銷前一條命令的結(jié)果
.重復(fù)最后一條修改正文的命令

插入模式

進入插入模式

i在光標(biāo)左側(cè)插入正文
a在光標(biāo)右側(cè)插入正文
o在光標(biāo)所在的下一行增加新行
O在光標(biāo)所在的上一行增加新行
I在光標(biāo)所在行的開頭插入
A在光標(biāo)所在行的末尾插入

命令模式

打開保存退出

:e path_to_file/filename在已經(jīng)啟動的vim編輯器中打開文件
:w保存
:w file_temp文件另存為
:q在未作修改的情況下退出
:q!放棄所有修改,退出編輯程序
:wq保存并退出

行號與文件

:n將光標(biāo)移到第n行
:345將光標(biāo)移到第345行
:345w file將第345行寫入file文件
:3,5w file將第3至5行寫入file文件
:3,.w file將第三行至當(dāng)前行寫入file文件
.,w file將當(dāng)前行至最后一行寫入file文件
.,.+5w file從當(dāng)前行開始將6行內(nèi)容寫入file文件
1,$w file將所有內(nèi)容寫入file文件喷户,相當(dāng)于:w file命令
:r file讀取file文件的內(nèi)容唾那,插入當(dāng)前光標(biāo)所在行的后面
:e file編輯新文件file代替原有的內(nèi)容
:f file將當(dāng)前文件重命名為file
:f打印當(dāng)前文件的名稱和狀態(tài),如文件的行數(shù)褪尝、光標(biāo)所在的行號等

字符串搜索

:/str/正向搜索闹获,將光標(biāo)移到下一個包含str的行
:?str?正向搜索期犬,將光標(biāo)移到上一個包含str的行
:/str/w file正向搜索,將第一個包含字符串str的行寫入file文件
:/str1/,/str2/w file正向搜索避诽,并將包含字符串str1的行至包含字符串str2的行寫入file文件

Vim中的正則表達式

:/^struct/找出以字符串struct開頭的行龟虎。^比較每行開頭的字符
部分特殊字符及含義:
^放在字符串前面,匹配行首的字符串
$放在字符串后面茎用,匹配行末的字符串
\<匹配一個字的開頭
\>匹配一個字的結(jié)尾
.匹配任何單個字符
[str]匹配str中任何單個字符
[^str]匹配任何不在str中的單個字符
[a-z]匹配a到z之間的任一字符
*匹配前一個字符的0次或多次出現(xiàn)
\轉(zhuǎn)義后面的字符

正文替換

:%s/str1/str2/用字符串str2替換行中首次出現(xiàn)的字符串str1
:s/str1/str2/g用字符串str2替換行中所有出現(xiàn)的字符串str1
.,$ s/str1/str2/g用字符串sr2替換當(dāng)前行到末尾所有出現(xiàn)的字符串str1
1,$ s/str1/str2/g用字符串str1替換全文的字符串str1
g/str1/s//str2/g功能同上
m,ns/str1/str2/g將從m行到n行的str1替換成str2
:%s/str1/&/gn在Vim中統(tǒng)計當(dāng)前文件中字符串 str1 出現(xiàn)的次數(shù)

刪除正文

:d刪除當(dāng)前行
:3d刪除3行
.,$d刪除當(dāng)前行至正文的末尾
/str1,/str2/d刪除從str1到str2的所有行
:g/^\(.*\)$\n\1$/d刪除連續(xù)相同的行遣总,保留最后一行
:g/\%(^\1$\n\)\@<=\(.*\)$/d刪除連續(xù)相同的行,保留最開始一行
:g/^\s*$\n\s*$/d刪除連續(xù)多個空行轨功,只保留一行空行
:5,20s/^#//g刪除5到20行開頭的 # 注釋

選項設(shè)置

:set option設(shè)置選項option
常見的功能選項
autoindent設(shè)置該選項旭斥,則正文自動縮進
ignorecase設(shè)置該選項,則忽略規(guī)則表達式中中大小寫字母的區(qū)別
number設(shè)置該選項古涧,則顯示正文行號
ruler設(shè)置該選項垂券,則在屏幕底部顯示光標(biāo)所在行、列的位置
tabstop設(shè)置按 Tab 鍵跳過的空格數(shù)羡滑。例如 :set tabstop=n菇爪,n 默認(rèn)值為 8
mk將選項保存在當(dāng)前目錄的.exrc文件中

Sell切換

!:shell_command執(zhí)行完shell_command后回到Vim

這稱為Shell切換。它允許執(zhí)行任何可以在標(biāo)準(zhǔn)的Shell提示符下執(zhí)行的命令柒昏。當(dāng)這條命令執(zhí)行完畢凳宙,控制返回給編輯程序。又可以繼續(xù)編輯對話過程职祷。

分屏

:sp上下分屏
:vsp左右分屏
vim -On file1 file2 ...打開file1和file2氏涩,垂直分屏
vim -on file1 file2 ...打開file1和file2,水平分屏

標(biāo)簽頁

:tabnew在vim中新建一個標(biāo)簽頁
:tabnew filename新建標(biāo)簽頁的同時打開文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末有梆,一起剝皮案震驚了整個濱河市是尖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泥耀,老刑警劉巖饺汹,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痰催,居然都是意外死亡兜辞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門陨囊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弦疮,“玉大人,你說我怎么就攤上這事蜘醋⌒踩” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長啸罢。 經(jīng)常有香客問我编检,道長,這世上最難降的妖魔是什么扰才? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任允懂,我火速辦了婚禮,結(jié)果婚禮上衩匣,老公的妹妹穿的比我還像新娘蕾总。我一直安慰自己,他們只是感情好琅捏,可當(dāng)我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布生百。 她就那樣靜靜地躺著,像睡著了一般柄延。 火紅的嫁衣襯著肌膚如雪蚀浆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天搜吧,我揣著相機與錄音市俊,去河邊找鬼。 笑死滤奈,一個胖子當(dāng)著我的面吹牛摆昧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜒程,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼据忘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搞糕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤曼追,失蹤者是張志新(化名)和其女友劉穎窍仰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體礼殊,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡驹吮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了晶伦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碟狞。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖婚陪,靈堂內(nèi)的尸體忽然破棺而出族沃,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布脆淹,位于F島的核電站常空,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盖溺。R本人自食惡果不足惜漓糙,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烘嘱。 院中可真熱鬧昆禽,春花似錦、人聲如沸蝇庭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遗契。三九已至辐棒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牍蜂,已是汗流浹背漾根。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鲫竞,地道東北人辐怕。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像从绘,于是被迫代替她去往敵國和親寄疏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,435評論 2 348

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

  • VIM的幾種模式 1.編輯模式(主模式) 在終端中輸入:vim [filePath] 就會就會進入編輯模式僵井,也就是...
    hanl001閱讀 409評論 1 4
  • 公司新員工學(xué)習(xí)有用到陕截,Vim官網(wǎng)的手冊又太大而全,而網(wǎng)上各方資料要么不全面批什,要么不夠基礎(chǔ)农曲。在網(wǎng)上搜集各方資料,按照...
    甲魚閱讀 160,779評論 43 686
  • vi的基本概念 三種狀態(tài):命令模式(command mode)驻债、插入模式(Insert mode)和底行模式(la...
    mihope閱讀 603評論 0 50
  • vim使用 為什么學(xué)習(xí)vim 大型網(wǎng)站的服務(wù)器一般是無圖形化界面的Linux系統(tǒng)乳规,當(dāng)需要進行調(diào)試、遠(yuǎn)程處理問題的時...
    饑人谷_bigJiao閱讀 340評論 0 0
  • 作者 姜蘇 01 好像現(xiàn)在的三年實在經(jīng)不住過合呐,一眨眼就三年暮的。那時的三年,可真叫個漫長而享受啊淌实,讓人感覺那三年就像三...
    姜蘇閱讀 709評論 0 0