真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux中tabe命令的簡單介紹

linux下vi編輯器命令大全

高級一些的編輯器,都會包含宏功能,vim當然不能缺少了,在vim中使用宏是非常方便的:

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站制作、做網(wǎng)站、余慶網(wǎng)絡推廣、小程序設計、余慶網(wǎng)絡營銷、余慶企業(yè)策劃、余慶品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供余慶建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

:qx 開始記錄宏,并將結果存入寄存器x

q 退出記錄模式

@x 播放記錄在x寄存器中的宏命令

稍微解釋一下,當在normal模式下輸入:qx后,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模

式,然后輸入@x對剛才記錄下來的命令進行重復,此命令后可跟數(shù)字,表示要重復多少次,比如@x20,可以重復20次。這個在文本的批處理中是非常有用的。

同時編輯多個文件

在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標簽頁功能了,可以支持同時編輯多個文件。

標簽命令

:tabe fn 在一個新的標簽頁中編輯文件fn

gt 切換到下一個標簽頁

gT 切換到上一個標簽頁

:tabr 切換到第一個標簽頁

:tabl 切換到最后一個標簽頁

:tabm [N] 把當前tab移動到第N個tab之后

對,正如你所想象的那樣,跟eclipse, ue等的標簽頁是一個意思!

窗口命令

ctrl+w s 水平分割窗口

ctrl+w w 切換窗口

ctrl+w q 退出當前窗口(由于同時有多個文件,此命令不會影響其他窗口)

ctrl+w v 垂直分割窗口

其他

vim在保存之前不會對文件做實際的修改,只是加載到緩沖區(qū)中,對文件的編輯其實是對緩沖區(qū)的編輯,直到:w時才會存入物理文件。

:e file 把file加載到新的緩沖區(qū)中

:bn 跳轉到下一個緩沖區(qū)

:bd 刪除緩沖區(qū)(關閉文件)

:sp fn 分割窗口,并將fn加載到新的窗口中

退出編輯器

:w 將緩沖區(qū)寫入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果對緩沖區(qū)進行過修改,則會提示

:q! 強制退出,放棄修改

查找替換

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

n 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)

N 上一個匹配(同上)

:%s/old/new/g 搜索整個文件,將所有的old替換為new

:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認是否替換

復制粘貼

dd 刪除光標所在行

dw 刪除一個字(word)

x 刪除當前字符

X 刪除前一個字符

D 刪除到行末

yy 復制一行,此命令前可跟數(shù)字,標識復制多行,如6yy,表示從當前行開始復制6行

yw 復制一個字

y$ 復制到行末

p 粘貼粘貼板的內(nèi)容到當前行的下面

P 粘貼粘貼板的內(nèi)容到當前行的上面

]p 有縮進的粘貼,vim會自動調(diào)節(jié)代碼的縮進

"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板

附:比如常用的一個寄存器就是系統(tǒng)寄存器,名稱為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。

移動光標

在vim中移動光標跟其他的編輯器中有很大的區(qū)別,不過一旦學會了,就會飛速的在文本中移動了。

h,j,k,l 上,下,左,右

ctrl-f 上翻一頁

ctrl-b 下翻一頁

% 跳到與當前括號匹配的括號處,如當前在{,則跳轉到與之匹配的}處

w 跳到下一個字首,按標點或單詞分割

W 跳到下一個字首,長跳,如end-of-line被認為是一個字

e 跳到下一個字尾

E 跳到下一個字尾,長跳

b 跳到上一個字

B 跳到上一個字,長跳

0 跳至行首,不管有無縮進,就是跳到第0個字符

^ 跳至行首的第一個字符

$ 跳至行尾

gg 跳至文件的第一行

gd 跳至當前光標所在的變量的聲明處

[N]G 跳到第N行,如0G,就等價于gg,100G就是第100行

fx 在當前行中找x字符,找到了就跳轉至

; 重復上一個f命令,而不用重復的輸入fx

tx 與fx類似,但是只是跳轉到x的前一個字符處

Fx 跟fx的方向相反

),( 跳轉到上/下一個語句

* 查找光標所在處的單詞,向下查找

# 查找光標所在處的單詞,向上查找

`. 跳轉至上次編輯位置

在屏幕上移動

H 移動光標到當前屏幕上最上邊的一行

M 移動光標到當前屏幕上中間的一行

L 移動光標到當前屏幕上最下邊的一行

書簽

ma 把當前位置存成標簽a

`a 跳轉到標簽a處

編輯

r 替換一個字符

J 將下一行和當前行連接為一行

cc 刪除當前行并進入編輯模式

cw 刪除當前字,并進入編輯模式

c$ 擦除從當前位置至行末的內(nèi)容,并進入編輯模式

s 刪除當前字符并進入編輯模式

S 刪除光標所在行并進入編輯模式

xp 交換當前字符和下一個字符

u 撤銷

ctrl+r 重做

. 重復上一個編輯命令

~ 切換大小寫,當前字符

g~iw 切換當前字的大小寫

gUiw 將當前字變成大寫

guiw 將當前字變成小寫

將當前行右移一個單位

將當前行左移一個單位(一個tab符)

== 自動縮進當前行

插入模式

i 從當前光標處進入插入模式

I 進入插入模式,并置光標于行首

a 追加模式,置光標于當前光標之后

A 追加模式,置光標于行末

o 在當前行之下新加一行,并進入插入模式

O 在當前行之上新加一行,并進入插入模式

Esc 退出插入模式

可視模式

標記文本

v 進入可視模式,單字符模式

V 進入可視模式,行模式

ctrl+v 進入可視模式,列模式,類似于UE的列模式

o 跳轉光標到選中塊的另一個端點

U 將選中塊中的內(nèi)容轉成大寫

O 跳轉光標到塊的另一個端點

aw 選中一個字

ab 選中括號中的所有內(nèi)容,包括括號本身

aB 選中{}括號中的所有內(nèi)容

ib 選中括號中的內(nèi)容,不含括號

iB 選中{}中的內(nèi)容,不含{}

對標記進行動作

塊右移

塊左移

y 復制塊

d 刪除塊

~ 切換塊中內(nèi)容的大小寫

關于linux vi命令

vim命令總結

1.刪除字符

要刪除一個字符,只需要將光標移到該字符上按下"x"。

2.刪除一行

刪除一整行內(nèi)容使用"dd"命令。刪除后下面的行會移上來填補空缺。

3.刪除換行符

在Vim中你可以把兩行合并為一行,也就是說兩行之間的換行符被刪除了:命令是"J"。

4.撤銷

如果你誤刪了過多的內(nèi)容。顯然你可以再輸入一遍,但是命令"u" 更簡便,它可以撤消上一次的操作。

5.重做

如果你撤消了多次,你還可以用CTRL-R(重做)來反轉撤消的動作。換句話說,它是對撤消的撤消。撤消命令還有另一種形式,"U"命令,它一次撤消對一行的全部操作。第二次使用該命令則會撤消前一個"U"的操作。用"u"和CTRL-R你可以找回任何一個操作狀態(tài)。

6.追加

"i"命令可以在當前光標之前插入文本。

"a"命令可以在當前光標之后插入文本。

"o"命令可以在當前行的下面另起一行,并使當前模式轉為Insert模式。

"O"命令(注意是大寫的字母O)將在當前行的上面另起一行。

7.使用命令計數(shù)

假設你要向上移動9行。這可以用"kkkkkkkkk"或"9k"來完成。事實上,很多命令都可以接受一個數(shù)字作為重復執(zhí)行同一命令的次數(shù)。比如剛才的例子,要在行尾追加三個感嘆號,當時用的命令是"a!!!"。另一個辦法是用"3a!"命令。3說明該命令將被重復執(zhí)行3次。同樣,刪除3個字符可以用"3x"。指定的數(shù)字要緊挨在它所要修飾的命令前面。

8.退出

要退出Vim,用命令"ZZ"。該命令保存當前文件并退出Vim。

9.放棄編輯

丟棄所有的修改并退出,用命令":q!"。用":e!"命令放棄所有修改并重新載入該文件的原始內(nèi)容。

10.以Word為單位的移動

使用"w"命令可以將光標向前移動一個word的首字符上;比如"3w"將光標向前移動3個words。"b"命令則將光標向后移動到前一個word的首字符上。

"e"命令會將光標移動到下一個word的最后一個字符。命令"ge",它將光標移動到前一個word的最后一個字符上。、

11.移動到行首或行尾

"$"命令將光標移動到當前行行尾。如果你的鍵盤上有一個鍵,它的作用也一樣。"^"命令將光標移動到當前行的第一個非空白字符上。"0"命令則總是把光標移動到當前行的第一個字符上。鍵也是如此。"$"命令還可接受一個計數(shù),如"1$"會將光標移動到當前行行尾,"2$"則會移動到下一行的行尾,如此類推。"0"命令卻不能接受類似這樣的計數(shù),命令"^"前加上一個計數(shù)也沒有任何效果。

12.移動到指定字符上

命令"fx"在當前行上查找下一個字符x(向右方向),可以帶一個命令計數(shù)"F"命令向左方向搜索。"tx"命令形同"fx"命令,只不過它不是把光標停留在被搜索字符上,而是在它之前的一個字符上。提示:"t"意為"To"。該命令的反方向版是"Tx"。這4個命令都可以用";"來重復。以","也是重復同樣的命令,但是方向與原命令的方向相反。

13.以匹配一個括號為目的移動

用命令"%"跳轉到與當前光標下的括號相匹配的那一個括號上去。如果當前光標在"("上,它就向前跳轉到與它匹配的")"上,如果當前在")"上,它就向后自動跳轉到匹配的"("上去.

14.移動到指定行

用"G"命令指定一個命令計數(shù),這個命令就會把光標定位到由命令計數(shù)指定的行上。比如"33G"就會把光標置于第33行上。沒有指定命令計數(shù)作為參數(shù)的話, "G"會把光標定位到最后一行上。"gg"命令是跳轉到第一行的快捷的方法。

另一個移動到某行的方法是在命令"%"之前指定一個命令計數(shù)比如"50%"將會把光標定位在文件的中間. "90%"跳到接近文件尾的地方。

命令"H","M","L",分別將光標跳轉到第一行,中間行,結尾行部分。

15.告訴你當前的位置

使用CTRL-G命令。"set number"在每行的前面顯示一個行號。相反關閉行號用命令":set nonumber"。":set ruler"在Vim窗口的右下角顯示當前光標位置。

16.滾屏

CTRL-U顯示文本的窗口向上滾動了半屏。CTRL-D命令將窗口向下移動半屏。一次滾動一行可以使用CTRL-E(向上滾動)和CTRL-Y(向下滾動)。要向前滾動一整屏使用命令CTRL-F。另外CTRL-B是它的反向版。"zz"命令會把當前行置為屏幕正中央,"zt"命令會把當前行置于屏幕頂端,"zb"則把當前行置于屏幕底端.

17.簡單搜索

"/string"命令可用于搜索一個字符串。要查找上次查找的字符串的下一個位置,使用"n"命令。如果你知道你要找的確切位置是目標字符串的第幾次出現(xiàn),還可以在"n"之前放置一個命令計數(shù)。"3n"會去查找目標字符串的第3次出現(xiàn)。

"?"命令與"/"的工作相同,只是搜索方向相反."N"命令會重復前一次查找,但是與最初用"/"或"?"指定的搜索方向相反。

如果查找內(nèi)容忽略大小寫,則用命令"set ignorecase", 返回精確匹配用命令"set noignorecase" 。

18.在文本中查找下一個word

把光標定位于這個word上然后按下"*"鍵。Vim將會取當前光標所在的word并將它作用目標字符串進行搜索。"#"命令是"*"的反向版。還可以在這兩個命令前加一個命令計數(shù):"3*"查找當前光標下的word的第三次出現(xiàn)。

19.查找整個word

如果你用"/the"來查找Vim也會匹配到"there"。要查找作為獨立單詞的"the"使用如下命令:"/the\"。"\"是一個特殊的記法,它只匹配一個word的結束處。近似地,"\"匹配到一個word的開始處。這樣查找作為一個word的"the"就可以用:"/\"。

20.高亮顯示搜索結果

開啟這一功能用":set hlsearch",關閉這一功能:":set nohlsearch"。如果只是想去掉當前的高亮顯示,可以使用下面的命令:":nohlsearch"(可以簡寫為noh)。

21.匹配一行的開頭與結尾

^ 字符匹配一行的開頭。$字符匹配一行的末尾。

所以"/was$"只匹配位于一行末尾的單詞was,所以"/^was"只匹配位于一行開始的單詞was。

22.匹配任何的單字符

.這個字符可以匹配到任何字符。比如"c.m"可以匹配任何前一個字符是c,后一個字符是m的情況,不管中間的字符是什么。

23.匹配特殊字符

放一個反斜杠在特殊字符前面。如果你查找"ter。",用命令"/ter\。"

24.使用標記

當你用"G"命令從一個地方跳轉到另一個地方時,Vim會記得你起跳的位置。這個位置在Vim中是一個標記。使用命令" `` "可以使你跳回到剛才的出發(fā)點。

``命令可以在兩點之間來回跳轉。CTRL-O命令是跳轉到你更早些時間停置光標的位置(提示:O意為older). CTRL-I則是跳回到后來停置光標的更新的位置(提示:I在鍵盤上位于O前面)。

注:使用CTRL-I 與按下鍵一樣。

25.具名標記

命令"ma"將當前光標下的位置名之為標記"a"。從a到z一共可以使用26個自定義的標記。要跳轉到一個你定義過的標記,使用命令" `marks "marks就是定義的標記的名字。命令" 'a "使你跳轉到a所在行的行首," `a "會精確定位a所在的位置。命令:":marks"用來查看標記的列表。

命令delm!刪除所有標記。

26.操作符命令和位移

"dw"命令可以刪除一個word,"d4w"命令是刪除4個word,依此類推。類似有"d2e"、"d$"。此類命令有一個固定的模式:操作符命令+位移命令。首先鍵入一個操作符命令。比如"d"是一個刪除操作符。接下來是一個位移命。比如"w"。這樣任何移動光標命令所及之處,都是命令的作用范圍。

27.改變文本

操作符命令是"c",改變命令。它的行為與"d"命令類似,不過在命令執(zhí)行后會進入Insert模式。比如"cw"改變一個word?;蛘?,更準確地說,它刪除一個word并讓你置身于Insert模式。

"cc"命令可以改變整行。不過仍保持原來的縮進。

"c$"改變當前光標到行尾的內(nèi)容。

快捷命令:x 代表dl(刪除當前光標下的字符)

X 代表dh(刪除當前光標左邊的字符)

D 代表d$(刪除到行尾的內(nèi)容)

C 代表c$(修改到行尾的內(nèi)容)

s 代表cl(修改一個字符)

S 代表cc(修改一整行)

命令"3dw"和"d3w"都是刪除3個word。第一個命令"3dw"可以看作是刪除一個word的操作執(zhí)行3次;第二個命令"d3w"是一次刪除3個word。這是其中不明顯的差異。事實上你可以在兩處都放上命令記數(shù),比如,"3d2w"是刪除兩個word,重復執(zhí)行3次,總共是6個word。

28.替換單個字符

"r"命令不是一個操作符命令。它等待你鍵入下一個字符用以替換當前光標下的那個字符。"r"命令前輟以一個命令記數(shù)是將多個字符都替換為即將輸入的那個字符。要把一個字符替換為一個換行符使用"r"。它會刪除一個字符并插入一個換行符。在此處使用命令記數(shù)只會刪除指定個數(shù)的字符:"4r"將把4個字符替換為一個換行符。

29.重復改動

"."命令會重復上一次做出的改動。"."命令會重復你做出的所有修改,除了"u"命令CTRL-R和以冒號開頭的命令。"."需要在Normal模式下執(zhí)行,它重復的是命令,而不是被改動的內(nèi)容,

30.Visual模式

按"v"可以進入Visual模式。移動光標以覆蓋你想操縱的文本范圍。同時被選中的文本會以高亮顯示。最后鍵入操作符命令。

31.移動文本

以"d"或"x"這樣的命令刪除文本時,被刪除的內(nèi)容還是被保存了起來。你還可以用p命令把它取回來。"P"命令是把被去回的內(nèi)容放在光標之前,"p"則是放在光標之后。對于以"dd"刪除的整行內(nèi)容,"P"會把它置于當前行的上一行。"p"則是至于當前行的后一行。也可以對命令"p"和"P"命令使用命令記數(shù)。它的效果是同樣的內(nèi)容被取回指定的次數(shù)。這樣一來"dd"之后的"3p"就可以把被刪除行的3 份副本放到當前位置。

命令"xp"將光標所在的字符與后一個字符交換。

32.復制文本(VIM編輯器內(nèi)復制)

"y"操作符命令會把文本復制到一個寄存器3中。然后可以用"p"命令把它取回。因為"y"是一個操作符命令,所以你可以用"yw"來復制一個word. 同樣可以使用命令記數(shù)。如下例中用"y2w"命令復制兩個word,"yy"命令復制一整行,"Y"也是復制整行的內(nèi)容,復制當前光標至行尾的命令是"y$"。

33.文本對象

"diw" 刪除當前光標所在的word(不包括空白字符) "daw" 刪除當前光標所在的word(包括空白字符)

34.快捷命令

x 刪除當前光標下的字符("dl"的快捷命令)

X 刪除當前光標之前的字符("dh"的快捷命令)

D 刪除自當前光標至行尾的內(nèi)容("d$"的快捷命令)

dw 刪除自當前光標至下一個word的開頭

db 刪除自當前光標至前一個word的開始

diw 刪除當前光標所在的word(不包括空白字符)

daw 刪除當前光標所在的word(包括空白字符)

dG 刪除當前行至文件尾的內(nèi)容

dgg 刪除當前行至文件頭的內(nèi)容

如果你用"c"命令代替"d"這些命令就都變成更改命令。使用"y"就是yank命令,如此類推。

35.編輯另一個文件

用命令":edit foo.txt",也可簡寫為":e foo.txt"。

36.文件列表

可以在啟動Vim時就指定要編輯多個文件,用命令"vim one.c two.c three.c"。Vim將在啟動后只顯示第一個文件,完成該文件的編輯后,可以用令:":next"或":n"要保存工作成果并繼續(xù)下一個文件的編輯,命令:":wnext"或":wn"可以合并這一過程。

37.顯示當前正在編輯的文件

用命令":args"。

38.移動到另一個文件

用命令":previous" ":prev"回到上一個文件,合并保存步驟則是":wprevious" ":wprev"。要移到最后一個文件":last",到第一個":first".不過沒有":wlast"或者":wfirst"這樣的命令。可以在":next"和":previous"命令前面使用一個命令計數(shù)。

39.編輯另一個文件列表

不用重新啟動Vim,就可以重新定義一個文件列表。命令":args five.c six.c seven.h"定義了要編輯的三個文件。

40.自動存盤

命令":set autowrite","set aw"。自動把內(nèi)容寫回文件: 如果文件被修改過,在每個:next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令時進行。

命令":set autowriteall","set awa"。和 'autowrite' 類似,但也適用于":edit"、":enew"、":quit"、":qall"、":exit"、":xit"、":recover" 和關閉 Vim 窗口。置位本選項也意味著 Vim 的行為就像打開 'autowrite' 一樣。

41.切換到另一文件

要在兩個文件間快速切換,使用CTRL-^。

42.文件標記

以大寫字母命名的標記。它們是全局標記,它們可以用在任何文件中。比如,正在編輯"fab1.java",用命令"50%mF"在文件的中間設置一個名為F的標記。然后在"fab2.java"文件中,用命令"GnB"在最后一行設置名為B的標記。在可以用"F"命令跳轉到文件"fab1.java"的半中間?;蛘呔庉嬃硪粋€文件,"'B"命令會再把你帶回文件"fab2.java"的最后一行。

要知道某個標記所代表的位置是什么,可以將該標記的名字作為"marks"命令的參數(shù)":marks M"或者連續(xù)跟上幾個參數(shù)":marks MJK"

可以用CTRL-O和CTRL-I可以跳轉到較早的位置和靠后的某位置。

43.查看文件

僅是查看文件,不向文件寫入內(nèi)容,可以用只讀形式編輯文件。用命令:

vim -R file。如果是想強制性地避免對文件進行修改,可以用命令:

vim -M file。

44.更改文件名

將現(xiàn)有文件存成新的文件,用命令":sav(eas) move.c"。如果想改變當前正在編輯的文件名,但不想保存該文件,就可以用命令:":f(ile) move.c"。

45.分割一個窗口

打開一個新窗口最簡單的辦法就是使用命令:":split"。CTRL-W 命令可以切換當前活動窗口。

46.關閉窗口

用命令:"close".可以關閉當前窗口。實際上,任何退出文件編輯的命令":quit"和"ZZ"都會關閉窗口,但是用":close"可以阻止你關閉最后一個Vim,以免以意外地整個關閉了Vim。

47.關閉除當前窗口外的所有其他窗口

用命令:":only",關閉除當前窗口外的所有其它窗口。如果這些窗口中有被修改過的,你會得到一個錯誤信息,同時那個窗口會被留下來。

48.為另一個文件分隔出一個窗口

命令":split two.c"可以打開第二個窗口同時在新打開的窗口中開始編輯作為

參數(shù)的文件。如果要打開一個新窗口并開始編輯一個空的緩沖區(qū),使用命令:":new"。

49.垂直分割

用命令":vsplit或::vsplit two.c"。同樣有一個對應的":vnew"命令,用于垂直分隔窗口并在其中打開一個新的空緩沖區(qū)。

50.切換窗口

CTRL-W h 到左邊的窗口

CTRL-W j 到下面的窗口

CTRL-W k 到上面的窗口

CTRL-W l 到右邊的窗口

CTRL-W t 到頂部窗口

CTRL-W b 到底部窗口

51.針對所有窗口操作的命令

":qall"放棄所有操作并退出,":wall"保存所有,":wqall"保存所有并退出。

52.為每一個文件打開一個窗口

使用"-o"選項可以讓Vim為每一個文件打開一個窗口:

"vim -o one.txt two.txt three.txt"。

53.使用vimdiff查看不同

"vimdiff main.c~ main.c",另一種進入diff模式的辦法可以在Vim運行中操作。編輯文件"main.c",然后打開另一個分隔窗口顯示其不同:

":edit main.c"

":vertical diffpatch main.c.diff"。

54.頁簽

命令":tabe(dit) thatfile"在一個窗口中打開"thatfile",該窗口占據(jù)著整個的Vim顯示區(qū)域。命令":tab split/new"結果是新建了一個擁有一個窗口的頁簽。以用"gt"命令在不同的頁簽間切換。

linux小技巧

我有vim的,都是自己平時用的時候積累的,現(xiàn)在第一次放出。

1 2 啟動Vim時的選項 vim -c cmd file: 在打開文件前,先執(zhí)行指定的命令;vim -r file: 恢復上次異常退出的文件;vim -R file: 以只讀的方式打開文件;vim -y num file: 將編輯窗口的大小設為num行;vim + file: 從文件的末尾開始;vim +num file: 從第num行開始;

Contents 2 3 光標的移動 h: 左移一個字符;l: 右移一個字符;j: 下移一個字符;k: 上移一個字符;w: 前移一個單詞,光標停在下一個單詞開頭;e: 前移一個單詞,光標停在下一個單詞末尾;b: 后移一個單詞,光標停在上一個單詞開頭;ge: 后移一個單詞,光標停在上一個單詞末尾;fc: 把光標移到同一行的下一個c字符處上面的操作都可以配合n使用,比如在正常模式(下面會講到)下輸入3h,則光標向左移動3個字符。

0或^:移動到行首。$: 移動到行尾。gg: 到文件頭部。G: 到文件尾部。nG: 到文件第n行。:ncr 移動到第n行。:$cr 移動到最后一行。n|: 把光標移到遞n列上。+或Enter:把光標移至下一行第一個非空白字符。-: 把光標移至上一行第一個非空白字符。H: 把光標移到屏幕最頂端一行。L: 把光標移到屏幕最底端一行。ctrl+f: 下翻一屏。ctrl+b: 上翻一屏。ctrl+d: 下翻半屏。ctrl+u: 上翻半屏。Contents 3 4 Vim的幾種模式 正常模式:可以使用快捷鍵命令,或按:輸入命令行。插入模式:可以輸入文本,在正常模式下,按i、a、o等都可以進入插入模式??梢暷J剑赫DJ较掳磛可以進入可視模式,在可視模式下,移動光標可以選擇文本。塊選擇模式:正常模式下按ctrl+v進入。替換模式:正常模式下,按R進入。Contents 4 5 插入 i: 在光標前插入;I: 在當前行最前插入;a: 在光標后插入;A: 在當前行最后插入;o: 在下面新建一行插入;O: 在上面新建一行插入;:r filename 在當前位置插入另一個文件的內(nèi)容。:r !date 在光標處插入當前日期與時間。同理,:r!command可以將其它shell命令的輸出插入當前文檔。Contents 5 6 改寫 c[n]w: 改寫光標后1(n)個詞。c[n]l: 改寫光標后n個字母。c[n]h: 改寫光標前n個字母。[n]cc: 修改當前[n]行。[n]s: 以輸入的文本替代光標之后1(n)個字符,相當于c[n]l。[n]S: 刪除指定數(shù)目的行,并以所輸入文本代替之。注意,類似cnw,dnw,ynw的形式同樣可以寫為ncw,ndw,nyw。Contents 6 7 替換 r: 替換光標處的字符,同樣支持漢字。R: 進入替換模式,按esc回到正常模式。Contents 7 8 撤消與重做 [n] u: 取消一(n)個改動。ctrl + r: 重做最后的改動。U: 取消當前行中所有的改動。Contents 8 9 剪切和復制、粘貼 [n]x: 剪切光標右邊n個字符,相當于d[n]l。[n]X: 剪切光標左邊n個字符,相當于d[n]h。y: 復制在可視模式下選中的文本。yy or Y: 復制整行文本。 yy 是復制一行文本的命令,則5yy 表示復制從前行開始的5行y[n]w: 復制一(n)個詞。y[n]l: 復制光標右邊1(n)個字符。y[n]h: 復制光標左邊1(n)個字符。y$: 從光標當前位置復制到行尾。y0: 從光標當前位置復制到行首。:m,nycr 復制m行到n行的內(nèi)容。y1G或ygg:復制光標以上的所有行。yG: 復制光標以下的所有行。d: 刪除(剪切)在可視模式下選中的文本。d$ or D: 刪除(剪切)當前位置到行尾的內(nèi)容。d[n]w: 刪除(剪切)1(n)個單詞d[n]l: 刪除(剪切)光標右邊1(n)個字符。d[n]h: 刪除(剪切)光標左邊1(n)個字符。d0: 刪除(剪切)當前位置到行首的內(nèi)容[n] dd: 刪除(剪切)1(n)行。:m,ndcr 剪切m行到n行的內(nèi)容。d1G或dgg:剪切光標以上的所有行。dG: 剪切光標以下的所有行。p: 在光標之后粘貼。P: 在光標之前粘貼。Contents 9 10 查找和替換 /something: 在后面的文本中查找something。?something: 在前面的文本中查找something。n: 向后查找下一個。N: 向前查找下一個。:s/old/new: 用new替換當前行第一個old。:s/old/new/g: 用new替換當前行所有的old。:n1,n2s/old/new/g: 用new替換文件n1行到n2行所有的old。:%s/old/new/g: 用new替換文件中所有的old。:%s/^/xxx/g: 在每一行的行首插入xxx,^表示行首。:%s/$/xxx/g: 在每一行的行尾插入xxx,^表示行尾。所有替換命令末尾加上c,每個替換都將需要用戶確認。如:%s/old/new/gc%: 找到對應的([{.Contents 10 11 多行縮進縮出 正常模式下,按兩下;光標所在行會縮進。如果先按了n,再按兩下;,光標以下的n行會縮進。對應的,按兩下;,光標所在行會縮出。如果在編輯代碼文件,可以用=進行調(diào)整。在可視模式下,選擇要調(diào)整的代碼塊,按=,代碼會按書寫規(guī)則縮排好?;蛘遪=,調(diào)整n行代碼的縮排。Contents 11 12 打開和關閉文檔 :e file –關閉當前編輯的文件,并開啟新的文件。如果對當前文件的修改未保存,vi會警告。:e! file –放棄對當前文件的修改,編輯新的文件。:e+file – 開始新的文件,并從文件尾開始編輯。:e+n file – 開始新的文件,并從第n行開始編輯。:enew –編譯一個未命名的新文檔。:e – 重新加載當前文檔。:e! – 重新加載當前文檔,并丟棄已做的改動。:w – 保存修改。:n1,n2w filename – 選擇性保存從某n1行到另n2行的內(nèi)容。:wq – 保存并退出。:x – 保存并退出。:saveas newfilename – 另存為Contents 12 13 多標簽編輯 :tabe filename – 在新的標簽中打開一個文件。:tabn – 切換到下一個標簽。:tabp – 切換到上一個標簽。Contents 13 14 分屏編輯Contents 13.1 14.1 水平分割 :split(:sp) – 把當前窗水平分割成兩個窗口。:split filename – 水平分割窗口,并在新窗口中顯示另一個文件。:nsplit(:nsp) – 水平分割出一個n行高的窗口。:new – 水平分割出一個窗口,并編輯一個新文件。ctrl+w + –當前窗口增高一行。也可以用n增高n行。ctrl+w - –當前窗口減小一行。也可以用n減小n行。ctrl+w _ –當前窗口擴展到盡可能的大。n ctrl+w _ – 當前窗口的高度設定為n行。Contents 13.2 14.2 垂直分割 :vsplit(:vsp) – 把當前窗口分割成水平分布的兩個窗口。:vnew – 垂直分割出一個新窗口。:vertical 水平分割的命令:相應的垂直分割。Contents 13.3 14.3 關閉子窗口 :qall – 關閉所有窗口,退出vim。:wall – 保存所有修改過的窗口。:only – 只保留當前窗口,關閉其它窗口。:close – 關閉當前窗口。(象 :q :x同樣工作 )Contents 13.4 14.4 切換和移動窗口 [如果支持鼠標,切換和調(diào)整子窗口的大小就簡單了。]ctrl+w ctrl+w: 切換到下一個窗口?;蛘呤莄trl+ww。ctrl+w h(l,j,k):切換到左(右,下,上)的窗口。ctrl+w t(b):切換到最上(下)面的窗口。BRctrl+w H(L,K,J): 將當前窗口移動到最左(右、上、下)面。正因為vim強大的分屏功能,我們可以把vim打造成功能強大的IDE。Contents 14 15 一次編輯多個文件 我們可以一次打開多個文件,如vi a.txt b.txt c.txt 使用:next(:n)編輯下一個文件。使用:previous編輯上一個文件。使用:wnext,保存當前文件,并編輯下一個文件。使用:wprevious,保存當前文件,并編輯上一個文件。使用:args顯示文件列表。Contents 15 16 文件的編碼 :e ++enc=utf8 filename, 讓vim用utf-8的編碼打開這個文件。:w ++enc=gbk,不管當前文件什么編碼,把它轉存成gbk編碼。:set fenc或:setfileencoding,查看當前文件的編碼。在vimrc中添加setfileencoding=utf-8,cp936,ucs-bom,vim會根據(jù)要打開的文件選擇合適的編碼。注意:編碼之間不要留空格。cp936對應于gbk編碼。ucs-bom對應于windows下的文件格式。讓vim正確處理文件格式和文件編碼,有賴于~/.vimrc的正確配置。Contents 16 17 執(zhí)行命令 :! cmd 執(zhí)行外部命令。:!! 執(zhí)行上一次的外部命令。@: 重復上一次的冒號命令。:sh 調(diào)用shell,用exit返回vim。:r !cmd 將命令的返回結果插入文件當前位置。:m,nw !cmd 將文件的m行到n行之間的內(nèi)容做為命令輸入執(zhí)行命令。Contents 17 18 一些快捷鍵(收集中) K: 打開光標所在詞的manpage。*: 向下搜索光標所在詞。#: 向上搜索光標所在詞。~: 反轉光標所在字符的大小寫。%: 移動到匹配的(),{}或[]上。 Contents 18 19.多行縮進

按v進入visual狀態(tài),選擇多行,用或縮進或縮出

通常根據(jù)語言特征使用自動縮進排版:在命令狀態(tài)下對當前行用== (連按=兩次), 或?qū)Χ嘈杏胣==(n是自然數(shù))表示自動縮進從當前行起的下面n行。你可以試試把代碼縮進任意打亂再用n==排版,相當于一般IDE里的code format。使用gg=G可對整篇代碼進行排版。

1、交換兩個字符位置xp;

上下兩行調(diào)換ddp;

上下兩行合并 J;

從當前位置復制到行尾y$

如果要粘貼到其他地方 p 就可以了

刪除所有行 dG

從當前位置刪除到行尾d$

2、:X

保存后就加密了

:X

然后系統(tǒng)會提示輸入密碼

輸入密碼后存盤退出

下次編輯時請使用

vi -x filename

系統(tǒng)會提示你輸入密碼,呵呵

例:以HP-UX為例

a、加密

vi file

:X

(Are you sure?(y/n)[n]:)回答y

輸入密碼回車以后再保存,就加密成功了

b、解密

vi -C file 或者 vi -x file

在 Key: 后面輸入密碼進入file

:X

(Are you sure?(y/n)[n]:)回答y“

vim在默認的情況下,用/或?來查找字符串時,是區(qū)分大小寫的,有時候很不方便。

我們可以用

:set ic

這樣vim就不區(qū)分大小寫了。

如果我們像區(qū)分大小寫

:set noic

set tabstop=4

set shiftwidth=4

set softtabstop=4

set expandtab

Contents 19 VIM宏的錄制和使用: Running a macro: @q

Viewing a macro: :registers | :reg m

Saving a macro: let @a='0fa' 也可以加到.vimrc中

Recording a macro: qlettercommandsq

Execute a macro: number@letter

Contents 20 如何快速從正文復制一段字符到Vim命令行?

先 yank

然后 ctrl+r "

詳見 :help :

Contents 21 shell 下匹配中文的搜索

:vimgrep /[^\x00-\xff]/g /app/www/gamelive/default.sdo.com/public/api/**/*.php

//把^去掉則匹配任意英文字符(非中文字符)

:cnext (:cn)

:cprevious (:cp)

:cwindow (:cw)

比如命令:

:vimgrep /an error/ *.c

就是在所有的.c文件中搜索an error。

:vimgrep/an error/*

意思是查找當前目錄下的文件中的an error,不包括子目錄

:vimgrep/an error/**

查找當前目錄并且包括遞歸子目錄下的所有文件

:vimgrep/an error/**/*.php

查找當前目錄并且包括遞歸子目錄下的所有PHP

vimgrep會產(chǎn)生一個error list,其實就是搜索結果列表。并會打開第一個符合的文件中第一個符合的位置。

Contents 22 以16進制編輯 首先,打開二進制文件時要加參數(shù)"-b",不然會報文件第一行錯誤.

$vim -b tuxcmd

打開文件后,默認是文本格式的,我們用":%!xxd"可以切換到十六進制編輯.

:%!xxd

是不是和utaredit很像呀?還可以加上參數(shù)-c來設置每行顯示多少字節(jié),比方用":%!xxd -c 16",就會顯示成16字節(jié)一行.

如果用":%!od"命令,則會隱藏左側的文本列.

不過,有一點不爽的就是改變文本列,不會改變16進制里的數(shù)據(jù),只能手動在16進制列做修改.在文本列里的修改是不會生效的.

注意:修改完成后,不要保存,要再用":%!xxd -r"切換成文本狀態(tài)格式再保存.

:%!xxd -r

匹配括號匹配:

% 可以讓光標從它當前所在的括號跳轉到與它相匹配的括號上去, 對花括號和

圓括號, 方括號都有效, 常用于手工檢查括號是否匹對.

緩沖文件切換:

map F12 ESC:bpRETURN " right arrow (normal mode) switches buffers (excluding minibuf)

"map F12 :TlistToggleCR

"map C-right ESC:bnRETURN " right arrow (normal mode) switches buffers (excluding minibuf)

"map C-left ESC:bpRETURN " left arrow (normal mode) switches buffers (excluding minibuf)


網(wǎng)站欄目:linux中tabe命令的簡單介紹
標題URL:http://weahome.cn/article/hpdpgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部