1.vim簡介
vim是一種有模式的文本編輯器孩擂,如:普通模式、插入模式箱熬、可視模式等类垦。初入門最常用的是普通模式和插入模式狈邑。
Git Bash下輸入“vim a.md”進(jìn)入vim編輯頁面。
編輯頁面下“i”命令進(jìn)入插入模式蚤认;插入模式下“ESC”鍵進(jìn)入編輯模式米苹。
編輯模式下有很多命令,這些命令可以通過組合輸入來快速高效的完成對文本的編輯砰琢,例如:“dd”表示刪除光標(biāo)所在行蘸嘶,而輸入“2dd”(“dd”重復(fù)兩次)則表示刪除光標(biāo)后兩行。
2.編輯模式
編輯模式的主要功能是移動光標(biāo)陪汽,然后對文本進(jìn)行剪切训唱、刪除、復(fù)制挚冤、插入况增、替換等
tips:
- 編輯模式下光標(biāo)指向它右側(cè)的字符,與windows下的word不同训挡。例如要刪除字符“M”巡通,在word中要先把光標(biāo)移到“M”的右側(cè),然后刪除舍哄。而vim的編輯模式下使用<code>x</code>命令時宴凉。要先把光標(biāo)移動到“M”的左側(cè),然后使用表悬。
- Vim 編輯器經(jīng)常以一對大弥锄、小寫字母(如 p 和
P)來提供一對相似的功能。通常蟆沫,小寫命令在光標(biāo)的后面進(jìn)行操作籽暇,大寫命令在光標(biāo)的前面進(jìn)行操作。 - 普通模式下有很多命令饭庞,這些命令可以通過組合輸入來快速高效的完成對文本的編輯戒悠,例如:“dd”表示刪除光標(biāo)所在行,而輸入“2dd”(“dd”重復(fù)兩次)則表示刪除光標(biāo)所在行及下一行舟山。
2.1打開绸狐、保存、退出文本
<pre>
:e path_to_file/filename 打開path_to_file/filename文本
:w 保存當(dāng)前修改累盗,不退出
:w file_temp 文件另存為file_temp
:q 在未作修改的情況下退出(修改后不保存直接退出會提示)
:q! 放棄所有修改寒矿,退出編輯程序。
:wq 先保存后退出的組合命令
</pre>
<p> </p>
2.2移動光標(biāo)
移動一個字符:
<pre>
k 上移
j 下移
h 左移
l 右移
</pre>
tips:在命令前加上數(shù)字代表命令執(zhí)行次數(shù)若债,如:5k符相,表示上移5行。
<pre>
H 移動到屏幕頂端的行
M 移動到屏幕中央的行
L 移動到屏幕底端的行
nH 移動到屏幕頂端往下的第n行
nL 移動到屏幕頂端往上的第n行
</pre>
tips:這些命令(全都是大寫)不會滾屏蠢琳,只是對當(dāng)前頁面進(jìn)行操作啊终。(感覺用5k這樣的方式也可以很快的實(shí)現(xiàn)啊镜豹。)
按單詞移動(ew大小寫啥的沒整明白)
<p> </p>
整行移動
<pre>
0 移動到行首
$ 移動到行末
移動到下一行開頭
移動到上一行開頭
</pre>
tips:“+”“-”不管你的光標(biāo)在當(dāng)前行何處,總是移動到下一行或上一行的行首蓝牲。假如現(xiàn)光標(biāo)在第二行的第二個字符逛艰,按“k”/“j”就會移動到上一行或下一行的第二個字符處。
<p> </p>
滾屏
<pre>
Ctrl+f 往前滾動一整屏
Ctrl+b 往后滾動一整屏
Ctrl+d 往前滾動半屏
Ctrl+u 往后滾動半屏
zEnter 將光標(biāo)所在行移動到屏幕頂端
z. 將光標(biāo)所在行移動到屏幕中間
z- 將光標(biāo)所在行移動到屏幕低端
Ctrl+g 顯示當(dāng)前行信息
nG 轉(zhuǎn)至第n行
G 轉(zhuǎn)至文本末尾
gg 移至文本開頭
</pre>
tips:10zEnter搞旭,是把第10行移 滾動到屏幕頂端散怖。
<p> </p>
根據(jù)文本塊移動
<pre>
( 移動到當(dāng)前句子開頭
) 移動到下一個句子開頭
{ 移動到當(dāng)前這一段開頭
} 移動到下一段開頭
[[ 移動到當(dāng)前這一節(jié)的開頭
]] 移動到下一節(jié)的開頭
</pre>
疑問:什么是區(qū)分段落、句子肄渗、節(jié)的區(qū)別镇眷??翎嫡?
<p> </p>
2.2刪除和替換
<pre>
rc 用 c 替換光標(biāo)所指向的當(dāng)前字符欠动;
x 刪當(dāng)前光標(biāo)所在的一個字符。
dd 刪除當(dāng)前行惑申,并把刪除的行存到剪貼板里(去除空隙)
d$ 從當(dāng)前光標(biāo)起刪除字符直到行的結(jié)束
d0 從當(dāng)前光標(biāo)起刪除字符直到行的開始
J 刪除本行的回車符(CR)具伍,并和下一行合并
p 粘貼剪貼板
</pre>
tips:
- "3dd”表示刪除光標(biāo)所在行和下兩行∪ν眨“3p”表示復(fù)制三次
- “3x”表示刪除光標(biāo)所指向的前 3 個字符人芽;“3rA”用 A 替換光標(biāo)所指向的前 5 個字符
“光標(biāo)指向的前”是光標(biāo)指向的字符以及它右邊的文本。(等我學(xué)會怎么整圖片后用圖片表示更清楚些)
绩脆?替換的命令沒搞明白萤厅,后續(xù)整明白了再寫澄惊。
<p> </p>
2.4復(fù)制粘貼
<pre>
yy 復(fù)制當(dāng)前行到內(nèi)存緩沖區(qū)
nyy 復(fù)制 n 行內(nèi)容到內(nèi)存緩沖區(qū)
5yy 復(fù)制 5 行內(nèi)容到內(nèi)存緩沖區(qū)
“+y 復(fù)制 1 行到操作系統(tǒng)的粘貼板
“+nyy 復(fù)制 n 行到操作系統(tǒng)的粘貼板
</pre>
tips:緩沖區(qū)與粘貼板是什么區(qū)別旱幼?是什么友酱?
<pre>
p 小寫字母 p潘拨,將剪切板的內(nèi)容粘貼到光標(biāo)的后面
P 大寫字母 P,將剪切板區(qū)的內(nèi)容粘貼到光標(biāo)的前面
</pre>
tips: - 如果剪切板的內(nèi)容是字符或字蟀伸,直接粘貼在光標(biāo)的前面或后面狼钮;如果緩沖區(qū)的內(nèi)容為整行正文县好,執(zhí)行上述粘貼命令將會粘貼在當(dāng)前光標(biāo)所在行的上一行或下一行
- 這里光標(biāo)前就是光標(biāo)的左邊主守,光標(biāo)后就是光標(biāo)的右邊(注意區(qū)分“光標(biāo)指向前”與“光標(biāo)前”的不同)
- 注意上述兩個命令中字母的大小寫禀倔。
<p> </p>
2.5字符串搜索
<pre>
:/str/ 正向搜索,將光標(biāo)移到下一個包含字符串 str 的行
:?str? 反向搜索丸逸,將光標(biāo)移到上一個包含字符串 str 的行
</pre>
<p> </p>
新人初學(xué)蹋艺,有很多地方難免有錯剃袍,懇請各位指正黄刚,在此感謝。其中沒搞明白的問題民效,在學(xué)習(xí)后再做更新憔维。