以下是VI有關(guān)文件修改與保存的命令:\x0d\x0a\x0d\x0a插入命令\x0d\x0a\x0d\x0ai 在當(dāng)前位置生前插入\x0d\x0a\x0d\x0aI 在當(dāng)前行首插入\x0d\x0a\x0d\x0aa 在當(dāng)前位置后插入\x0d\x0a\x0d\x0aA 在當(dāng)前行尾插入\x0d\x0a\x0d\x0ao 在當(dāng)前行之后插入一行\(zhòng)x0d\x0a\x0d\x0aO 在當(dāng)前行之前插入一行\(zhòng)x0d\x0a\x0d\x0a查找命令\x0d\x0a\x0d\x0a/text查找text,按n健查找下一個(gè),按N健查找前一個(gè)。\x0d\x0a\x0d\x0a?text查找text,反向查找,按n健查找下一個(gè),按N健查找前一個(gè)。\x0d\x0a\x0d\x0avim中有一些特殊字符在查找時(shí)需要轉(zhuǎn)義.*[]^%/?~$\x0d\x0a\x0d\x0a:set ignorecase忽略大小寫的查找\x0d\x0a\x0d\x0a:set noignorecase不忽略大小寫的查找\x0d\x0a\x0d\x0a查找很長(zhǎng)的詞,如果一個(gè)詞很長(zhǎng),鍵入麻煩,可以將光標(biāo)移動(dòng)到該詞上,按*或#鍵即可以該單詞進(jìn)行搜索,相當(dāng)于/搜索。而#命令相當(dāng)于?搜索。\x0d\x0a\x0d\x0a:set hlsearch高亮搜索結(jié)果,所有結(jié)果都高亮顯示,而不是只顯示一個(gè)匹配。\x0d\x0a\x0d\x0a:set nohlsearch關(guān)閉高亮搜索顯示\x0d\x0a\x0d\x0a:nohlsearch關(guān)閉當(dāng)前的高亮顯示,如果再次搜索或者按下n或N鍵,則會(huì)再次高亮。\x0d\x0a\x0d\x0a:set incsearch逐步搜索模式,對(duì)當(dāng)前鍵入的字符進(jìn)行搜索而不必等待鍵入完成。\x0d\x0a\x0d\x0a:set wrapscan重新搜索,在搜索到文件頭或尾時(shí),返回繼續(xù)搜索,默認(rèn)開啟。\x0d\x0a\x0d\x0a替換命令\x0d\x0a\x0d\x0ara 將當(dāng)前字符替換為a,當(dāng)期字符即光標(biāo)所在字符。\x0d\x0a\x0d\x0as/old/new/ 用old替換new,替換當(dāng)前行的第一個(gè)匹配\x0d\x0a\x0d\x0as/old/new/g 用old替換new,替換當(dāng)前行的所有匹配\x0d\x0a\x0d\x0a%s/old/new/ 用old替換new,替換所有行的第一個(gè)匹配\x0d\x0a\x0d\x0a%s/old/new/g 用old替換new,替換整個(gè)文件的所有匹配\x0d\x0a\x0d\x0a:10,20 s/^/ /g 在第10行知第20行每行前面加四個(gè)空格,用于縮進(jìn)。\x0d\x0a\x0d\x0addp 交換光標(biāo)所在行和其下緊鄰的一行。\x0d\x0a\x0d\x0a移動(dòng)命令\x0d\x0a\x0d\x0ah 左移一個(gè)字符\x0d\x0al 右移一個(gè)字符,這個(gè)命令很少用,一般用w代替。\x0d\x0ak 上移一個(gè)字符\x0d\x0aj 下移一個(gè)字符\x0d\x0a以上四個(gè)命令可以配合數(shù)字使用,比如20j就是向下移動(dòng)20行,5h就是向左移動(dòng)5個(gè)字符,在Vim中,很多命令都可以配合數(shù)字使用,比如刪除10個(gè)字符10x,在當(dāng)前位置后插入3個(gè)!,3a!,這里的Esc是必須的,否則命令不生效。\x0d\x0a\x0d\x0aw 向前移動(dòng)一個(gè)單詞(光標(biāo)停在單詞首部),如果已到行尾,則轉(zhuǎn)至下一行行首。此命令快,可以代替l命令。\x0d\x0a\x0d\x0ab 向后移動(dòng)一個(gè)單詞 2b 向后移動(dòng)2個(gè)單詞\x0d\x0a\x0d\x0ae,同w,只不過是光標(biāo)停在單詞尾部\x0d\x0a\x0d\x0age,同b,光標(biāo)停在單詞尾部。\x0d\x0a\x0d\x0a^ 移動(dòng)到本行第一個(gè)非空白字符上。\x0d\x0a\x0d\x0a0(數(shù)字0)移動(dòng)到本行第一個(gè)字符上,\x0d\x0a\x0d\x0a 移動(dòng)到本行第一個(gè)字符。同0健。\x0d\x0a\x0d\x0a$ 移動(dòng)到行尾 3$ 移動(dòng)到下面3行的行尾\x0d\x0a\x0d\x0agg 移動(dòng)到文件頭。 = [[\x0d\x0a\x0d\x0aG(shift + g) 移動(dòng)到文件尾。 = ]]\x0d\x0a\x0d\x0af(find)命令也可以用于移動(dòng),fx將找到光標(biāo)后第一個(gè)為x的字符,3fd將找到第三個(gè)為d的字符。\x0d\x0a\x0d\x0aF 同f,反向查找。\x0d\x0a\x0d\x0a跳到指定行,冒號(hào)+行號(hào),回車,比如跳到240行就是 :240回車。另一個(gè)方法是行號(hào)+G,比如230G跳到230行。\x0d\x0a\x0d\x0aCtrl + e 向下滾動(dòng)一行\(zhòng)x0d\x0a\x0d\x0aCtrl + y 向上滾動(dòng)一行\(zhòng)x0d\x0a\x0d\x0aCtrl + d 向下滾動(dòng)半屏\x0d\x0a\x0d\x0aCtrl + u 向上滾動(dòng)半屏\x0d\x0a\x0d\x0aCtrl + f 向下滾動(dòng)一屏\x0d\x0a\x0d\x0aCtrl + b 向上滾動(dòng)一屏\x0d\x0a\x0d\x0a撤銷和重做\x0d\x0a\x0d\x0au 撤銷(Undo)\x0d\x0aU 撤銷對(duì)整行的操作\x0d\x0aCtrl + r 重做(Redo),即撤銷的撤銷。\x0d\x0a\x0d\x0a刪除命令\x0d\x0a\x0d\x0ax 刪除當(dāng)前字符\x0d\x0a\x0d\x0a3x 刪除當(dāng)前光標(biāo)開始向后三個(gè)字符\x0d\x0a\x0d\x0aX 刪除當(dāng)前字符的前一個(gè)字符。X=dh\x0d\x0a\x0d\x0adl 刪除當(dāng)前字符, dl=x\x0d\x0a\x0d\x0adh 刪除前一個(gè)字符\x0d\x0a\x0d\x0add 刪除當(dāng)前行\(zhòng)x0d\x0a\x0d\x0adj 刪除上一行\(zhòng)x0d\x0a\x0d\x0adk 刪除下一行\(zhòng)x0d\x0a\x0d\x0a10d 刪除當(dāng)前行開始的10行。\x0d\x0a\x0d\x0aD 刪除當(dāng)前字符至行尾。D=d$\x0d\x0a\x0d\x0ad$ 刪除當(dāng)前字符之后的所有字符(本行)\x0d\x0a\x0d\x0akdgg 刪除當(dāng)前行之前所有行(不包括當(dāng)前行)\x0d\x0a\x0d\x0ajdG(jd shift + g) 刪除當(dāng)前行之后所有行(不包括當(dāng)前行)\x0d\x0a\x0d\x0a:1,10d 刪除1-10行\(zhòng)x0d\x0a\x0d\x0a:11,$d 刪除11行及以后所有的行\(zhòng)x0d\x0a\x0d\x0a:1,$d 刪除所有行\(zhòng)x0d\x0a\x0d\x0aJ(shift + j)刪除兩行之間的空行,實(shí)際上是合并兩行。\x0d\x0a\x0d\x0a拷貝和粘貼\x0d\x0a\x0d\x0ayy 拷貝當(dāng)前行\(zhòng)x0d\x0a\x0d\x0anyy 拷貝當(dāng)前后開始的n行,比如2yy拷貝當(dāng)前行及其下一行。\x0d\x0a\x0d\x0ap 在當(dāng)前光標(biāo)后粘貼,如果之前使用了yy命令來復(fù)制一行,那么就在當(dāng)前行的下一行粘貼。\x0d\x0a\x0d\x0ashift+p 在當(dāng)前行前粘貼\x0d\x0a\x0d\x0a:1,10 co 20 將1-10行插入到第20行之后。\x0d\x0a\x0d\x0a:1,$ co $ 將整個(gè)文件復(fù)制一份并添加到文件尾部。\x0d\x0a\x0d\x0a正常模式下按v(逐字)或V(逐行)進(jìn)入可視模式,然后用jklh命令移動(dòng)即可選擇某些行或字符,再按y即可復(fù)制\x0d\x0a\x0d\x0addp交換當(dāng)前行和其下一行\(zhòng)x0d\x0a\x0d\x0axp交換當(dāng)前字符和其后一個(gè)字符\x0d\x0a\x0d\x0a剪切命令\x0d\x0a\x0d\x0a正常模式下按v(逐字)或V(逐行)進(jìn)入可視模式,然后用jklh命令移動(dòng)即可選擇某些行或字符,再按d即可剪切\(zhòng)x0d\x0a\x0d\x0andd 剪切當(dāng)前行之后的n行。利用p命令可以對(duì)剪切的內(nèi)容進(jìn)行粘貼\x0d\x0a\x0d\x0a:1,10d 將1-10行剪切。利用p命令可將剪切后的內(nèi)容進(jìn)行粘貼。\x0d\x0a\x0d\x0a:1, 10 m 20 將第1-10行移動(dòng)到第20行之后。\x0d\x0a\x0d\x0a退出命令\x0d\x0a\x0d\x0a:wq 保存并退出\x0d\x0a\x0d\x0aZZ 保存并退出\x0d\x0a\x0d\x0a:q! 強(qiáng)制退出并忽略所有更改\x0d\x0a\x0d\x0a:e! 放棄所有修改,并打開原來文件。
創(chuàng)新互聯(lián)專注于中大型企業(yè)的做網(wǎng)站、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶數(shù)千家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站制作和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!
linux下vim查找命令:
/text--查找text,按n查找下一個(gè),N查找上一個(gè)
?text--查找text(反向查找),按n查找下一個(gè),N查找上一個(gè)
*/#--查找光標(biāo)當(dāng)前的單詞,相當(dāng)于/text
:setignorecase--查找忽略大小寫
:setnoignorecase--查找不忽略大小寫
:nohlsearch--關(guān)閉當(dāng)前的高亮顯示,當(dāng)再次查找時(shí)恢復(fù)高亮
:setincsearch--逐步搜索模式,對(duì)當(dāng)前鍵入的字符進(jìn)行查找,不必等輸入完成
:setwrapscan--重新搜索,當(dāng)搜索到文件頭或尾時(shí),返回重新搜索
擴(kuò)展資料:
1、文件窗口:
:openfile--在當(dāng)前窗口打開新文件
:splitfile--在新窗口打開文件
:newfile--用新窗口打開文件,同:splitfile
:bn--切換到下一個(gè)文件
:bp--切換到上一個(gè)文件
:args--查看當(dāng)前打開的文件列表(當(dāng)前正在編輯的文件會(huì)用[]括起來)
:e
:e\qadriveest.txt--打開遠(yuǎn)程文件
:split--打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:new--打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:vsplit--橫向打開窗口。
Ctrl+ww--移動(dòng)到下一個(gè)窗口
Ctrl+wj--移動(dòng)到下方的窗口
Ctrl+wk--移動(dòng)到上方的窗口
2、其他命令:
Esc/Ctrl+[--鍵入命令
:!command--執(zhí)行shell命令
:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim
:!perl-cscript.pl--檢查perl腳本語法,不用退出vim
:!perlscript.pl--執(zhí)行perl腳本,不用退出vim
:help--顯示幫助文檔
:helpi--顯示i的幫助文檔(:特殊鍵用,-t:啟動(dòng)參數(shù)用-)
3、編輯命令:
插入:
i--在當(dāng)前位置插入
A--在當(dāng)前行尾插入
I--在當(dāng)前行首插入
o--在當(dāng)前行后插入一行
O--在當(dāng)前行前插入一行
拷貝粘貼剪切:
yy--拷貝當(dāng)前行
2yy--拷貝當(dāng)前行開始的2行
p--在當(dāng)前光標(biāo)后粘貼
P--在當(dāng)前行前粘貼
:1,10co20--將1-10行插入到第20行之后。
:1,$co$--將整個(gè)文件復(fù)制一份并添加到文件尾部
v--進(jìn)入選擇模式,相當(dāng)于在Windows下按住Shift選擇
V--進(jìn)入選擇模式,整行選擇
ddp--交換當(dāng)前行和其下一行
2dd--剪切當(dāng)前行之后的2行
:1,10d--將1-10行剪切
:1,10m20--將第1-10行移動(dòng)到第20行之后
替換:
ra--將當(dāng)前光標(biāo)所在字符替換為a
s/old/new/--用old替換new,替換當(dāng)前行的第一個(gè)匹配
s/old/new/g--用old替換new,替換當(dāng)前行的所有匹配
%s/old/new/--用old替換new,替換所有行的第一個(gè)匹配
%s/old/new/g--用old替換new,替換所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個(gè)文檔,:%s/^/#/g--注釋整個(gè)文檔)
ddp--交換光標(biāo)所在行和下一行
移動(dòng):
h--左移一個(gè)字符(5h--左移5個(gè)字符)
l--右移一個(gè)字符(5l--右移5個(gè)字符)
k--上移一個(gè)字符(5k--上移5個(gè)字符)
j--下移一個(gè)字符(5j--下移5個(gè)字符)
w--向后移動(dòng)一個(gè)單詞(5w--向后移動(dòng)5個(gè)單詞)
b--向前移動(dòng)一個(gè)單詞(5b--向前移動(dòng)5個(gè)單詞)
e--同w,光標(biāo)停在單詞尾部
ge--同e,光標(biāo)停在單詞尾部
^--移動(dòng)到本行第一個(gè)非空白字符
0--移動(dòng)到本行第0個(gè)字符
--同0
$--移動(dòng)到行尾(3$--移動(dòng)到下面3行的行尾)
gg--移動(dòng)到文件頭(10gg--移動(dòng)到第10行首)
[[--同gg
G--移動(dòng)到文件尾(10G--移動(dòng)到第10行尾)
]]--同G
fx--移動(dòng)到本行光標(biāo)后第一個(gè)為x的字符(3fx--移動(dòng)到本行光標(biāo)后第3個(gè)為x的字符)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滾動(dòng)一行
Ctrl+y--向上滾動(dòng)一行
Ctrl+d--向下滾動(dòng)半屏
Ctrl+u--向上滾動(dòng)半屏
Ctrl+f--向下滾動(dòng)一屏
Ctrl+b--向上滾動(dòng)一屏
撤銷:
u--撤銷
U--撤銷對(duì)整行的操作
Ctrl+r--撤銷剛才的撤銷
刪除:
x--刪除當(dāng)前字符(3x--刪除當(dāng)前光標(biāo)開始向后三個(gè)字符)
X--刪除當(dāng)前字符的前一個(gè)字符,同dh
dl--刪除當(dāng)前字符,同x
dh--刪除前一個(gè)字符
dd--刪除當(dāng)前行
dj--刪除上一行
dk--刪除下一行
10d--刪除當(dāng)前行開始的10行。
D--刪除當(dāng)前字符至行尾,同d$
kdgg--刪除當(dāng)前行之前所有行(不包括當(dāng)前行)
:1,10d--刪除1-10行
:11,$d--刪除11行及以后所有的行
:1,$d--刪除所有行
J--刪除兩行之間的空行,合并兩行
退出
:wq--保存并退出
ZZ--保存并退出
:q!--強(qiáng)制退出并忽略所有更改
:e!--放棄所有修改,并打開原來文件
:close--關(guān)閉窗口,最后一個(gè)窗口不能使用此命令,可以防止意外退出vim
:q--如果是最后一個(gè)被關(guān)閉的窗口,那么將退出vim
先按ESC進(jìn)入Command模式,然后輸入“:wq”,回車就可以保存并退出了。
vi的其他保存/退出命令:
:w 保存;
:w filename 另存為filename;
:wq! 保存并強(qiáng)制退出;
:wq! filename 注:以filename為文件名保存后強(qiáng)制退出;
:q! 強(qiáng)制退出;
:x 保存并退出(僅當(dāng)文件有變化時(shí)保存)
擴(kuò)展資料:
vi有三種工作模式:命令模式、文本編輯模式和最后行模式。不同工作模式下的操作方法有所不同。
1、命令行模式
該模式是進(jìn)入vi編輯器后的默認(rèn)模式。任何時(shí)候,不管用戶處于何種模式,按下Esc鍵即可進(jìn)入命令模式。
在命令模式下,用戶可以輸入vi命令,用于管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符都被當(dāng)做編輯命令來解釋。若輸入的字符是合法的vi命令,則vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不回顯在屏幕上。若輸入的字符不是vi的合法命令,vi 會(huì)響鈴報(bào)警。
2、文本輸入模式
在命令模式下輸入插入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進(jìn)入文本輸入模式。
在該模式下,用戶輸入的任何字符都被vi當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按下Esc鍵即可。
3、末行模式
末行模式也稱 ex 轉(zhuǎn)義模式。在命令模式下,用戶按:鍵即可進(jìn)入末行模式下,此時(shí)vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè):作為末行模式的說明符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。
末行命令執(zhí)行完后,vi 自動(dòng)回到命令模式。
參考資料:百度百科-vi