摘要:粘貼剪切板里的內(nèi)容在光標(biāo)后,如果使用了前面的自定義緩沖區(qū),建議使用進(jìn)行粘貼。
平時(shí)最常的指令:
跳轉(zhuǎn)文件頭:gg(一般模式)
跳轉(zhuǎn)到文件末尾:shift+g(一般模式)
跳轉(zhuǎn)到指定行:行號(hào) + gg(一般模式)
多行復(fù)制:將光標(biāo)移動(dòng)到將要復(fù)制的首行處,按nyy復(fù)制n行(一般模式)
括號(hào)匹配:%
支持鼠標(biāo)選擇::set mouse=a(復(fù)制粘貼:用鼠標(biāo)選中,然后到需要粘貼的地方小點(diǎn)下鼠標(biāo)中鍵)
vim的三種模式一般模式
1.用戶剛剛啟動(dòng)Vim,便進(jìn)入了一般模式
2.輸入i,進(jìn)入插入模式;輸入:進(jìn)入底線命令模式
編輯模式
1.該模式下可編輯文件。
2.Esc命令退出編輯模式,進(jìn)入一般模式
命令模式
1.Esc命令退出命令模式,進(jìn)入一般模式
:w //保存文件
:w vpser.NET //保存至vpser.Net文件
:q //退出編輯器,如果文件已修改請(qǐng)使用下面的命令
:q! //退出編輯器,且不保存
:wq //退出編輯器,且保存文件
h:光標(biāo)左移一個(gè)字符
l:光標(biāo)右移一個(gè)字符
k:光標(biāo)上移一行
j:光標(biāo)下移一行
shift+h:光標(biāo)移至屏幕頂行
shift+l:光標(biāo)移至屏幕最后行
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開(kāi)頭
{:光標(biāo)移至段落結(jié)尾
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
nG:光標(biāo)移至第n行首
n$:光標(biāo)移至第n行尾
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
u :撤銷上一步操作
shift+u:撤銷對(duì)當(dāng)前行的所有操作
x :刪除當(dāng)前字符
nx:刪除從光標(biāo)開(kāi)始的n個(gè)字符
dd :刪除當(dāng)前行
ndd:向下刪除當(dāng)前行在內(nèi)的n行
do:刪至行首
d$:刪至行尾
ndw或ndW:刪除光標(biāo)處開(kāi)始及其后的n-1個(gè)字
/pattern:從光標(biāo)開(kāi)始處向文件尾搜索pattern
?pattern:從光標(biāo)開(kāi)始處向文件首搜索pattern
n:在同一方向重復(fù)上一次搜索命令
shift+n:在反方向上重復(fù)上一次搜索命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部.
i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開(kāi)一行
O:在當(dāng)前行之上新開(kāi)一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開(kāi)始,以輸入的文本替代指定數(shù)目的字符
S:刪除指定數(shù)目的行,并以所輸入文本代替之
ncw或nCW:修改指定數(shù)目的字
nCC:修改指定數(shù)目的行
復(fù)制、粘貼yy //將當(dāng)前行復(fù)制到緩存區(qū),也可以用 "ayy 復(fù)制,"a 為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)。
nyy //將當(dāng)前行向下n行復(fù)制到緩沖區(qū),也可以用 "anyy 復(fù)制,"a 為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)。
yw //復(fù)制從光標(biāo)開(kāi)始到詞尾的字符。
nyw //復(fù)制從光標(biāo)開(kāi)始的n個(gè)單詞。
y^ //復(fù)制從光標(biāo)到行首的內(nèi)容。
y$ //復(fù)制從光標(biāo)到行尾的內(nèi)容。
p //粘貼剪切板里的內(nèi)容在光標(biāo)后,如果使用了前面的自定義緩沖區(qū),建議使用"ap 進(jìn)行粘貼。
P //粘貼剪切板里的內(nèi)容在光標(biāo)前,如果使用了前面的自定義緩沖區(qū),建議使用"aP 進(jìn)行粘貼。
:s/old/new //用new替換行中首次出現(xiàn)的old
:s/old/new/g //用new替換行中所有的old
:n,m s/old/new/g //用new替換從n到m行里所有的old
:%s/old/new/g //用new替換當(dāng)前文件里所有的old
:%s/four/4/g
“%” 范圍前綴表示在所有行中執(zhí)行替換,最后的 “g” 標(biāo)記表示替換行中的所有匹配點(diǎn),如果僅僅對(duì)當(dāng)前行進(jìn)行操作,那么只要去掉%即可.
如果你有一個(gè)像 “thirtyfour” 這樣的單詞,上面的命令會(huì)出錯(cuò)。這種情況下,這個(gè)單詞會(huì)被替換成”thirty4″。要解決這個(gè)問(wèn)題,用 “<”來(lái)指定匹配單詞開(kāi)頭:
:%s/顯然,這樣在處理 “fourty” 的時(shí)候還是會(huì)出錯(cuò)。用 “>” 來(lái)解決這個(gè)問(wèn)題:
:%s//4/g 如果你在編碼,你可能只想替換注釋中的 “four”,而保留代碼中的。由于這很難指定,可以在替換命令中加一個(gè) “c” 標(biāo)記,這樣,Vim 會(huì)在每次替換前提示你:
:%s//4/gc 單詞精確匹配替換
sed -e "s//new/g" file
選項(xiàng)設(shè)置all:列出所有選項(xiàng)設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫(xiě)
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號(hào)
report:顯示由面向行的命令修改過(guò)的數(shù)目
terse:顯示簡(jiǎn)短的警告信息
warn:在轉(zhuǎn)到別的文件時(shí)若沒(méi)保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“/”的特殊字符
nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開(kāi)始
mesg:允許vi顯示其他用戶用write寫(xiě)到自己終端上的信息
最后行方式命令:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除
:w :保存當(dāng)前文件
:e filename:打開(kāi)文件filename進(jìn)行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行
寄存器操作“?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?nyw:將當(dāng)前行及其下n個(gè)字保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?nyl:將當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字
ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號(hào)刪除寄存器中。
推薦博客:
http://blog.csdn.net/namecyf/...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24988.html
摘要:的哲學(xué)第四篇姍姍來(lái)遲,狗血的原因我就不多說(shuō)了,好消息是我將為這個(gè)系列帶來(lái)一些動(dòng)態(tài)演示。所以目前為止你學(xué)會(huì)上述四個(gè)動(dòng)作指令就足夠了。以詞為單位使得我們可以更精確也是更具語(yǔ)義化的移動(dòng)光標(biāo),并且要比逐個(gè)字符的移動(dòng)要快得多。 Vim 的哲學(xué)第四篇姍姍來(lái)遲,狗血的原因我就不多說(shuō)了,好消息是我將為這個(gè)系列帶來(lái)一些動(dòng)態(tài)演示。原本我打算錄視頻的,但是文章都寫(xiě)了那么些篇了,現(xiàn)在再錄視頻似乎晚了些,所以我...
摘要:為什么要有模式呢以上其實(shí)已經(jīng)講述了一些原因,但真正的價(jià)值還在于接下來(lái)要講到的哲學(xué)。鼠標(biāo)與快捷鍵的操作治標(biāo)不治本,它們沒(méi)能從根本上解決這個(gè)問(wèn)題。 學(xué)會(huì)用不同的角度去看待和理解這個(gè)世界,你收獲的永遠(yuǎn)會(huì)比你想象的更多。 上回我分享了如何掌握基礎(chǔ)移動(dòng)的心得體會(huì),而對(duì)于很重要的模式卻只是一帶而過(guò),這其實(shí)是有原因的。過(guò)去我有過(guò)幾次教新手 Vim 的經(jīng)歷,按照慣常的方式先告訴他們模式切換,...
摘要:安裝所需軟件文件將斷行轉(zhuǎn)化為斷行方式文件將斷行轉(zhuǎn)化為斷行方式語(yǔ)系編碼轉(zhuǎn)換原本編碼新編碼文件新文件編碼轉(zhuǎn)換 文書(shū)編輯器:emacs、pico、nano、joe、vim、vi vi 三種模式: 一般指令模式: 以vi打開(kāi)一個(gè)文件就是直接進(jìn)入一般指令模式,刪除,復(fù)制,粘貼 編輯模式: [i、I、o、O、a、A、r、R]進(jìn)入編輯模式,左下方顯示INSERT或REPLACE 指令列命令模式: [...
閱讀 1369·2019-08-30 15:44
閱讀 2113·2019-08-30 11:04
閱讀 529·2019-08-29 15:17
閱讀 2552·2019-08-26 12:12
閱讀 3139·2019-08-23 18:09
閱讀 931·2019-08-23 15:37
閱讀 1530·2019-08-23 14:43
閱讀 2933·2019-08-23 13:13