Vim 常用技巧:

來源:互聯網
上載者:User

標籤:

 

Vim 常用技巧:

將斷行符號由預設的8個空格改為4個空格:

命令:set sw=4

修改tab為4空格:

命令:set ts=4

設定每一級的縮排長度:

命令:set shiftwidth=4

設定檔案的編碼:

set fileencoding=utf-8

 

 

進入vi的命令 

vi filename :開啟或建立檔案,並將游標置於第一行首 

vi +n filename :開啟檔案,並將游標置於第n行首 

vi + filename :開啟檔案,並將游標置於最後一行首 

vi +/pattern filename:開啟檔案,並將游標置於第一個與pattern匹配的串處 

vi -r filename :在上次正用vi編輯時發生系統崩潰,恢複filename 

vi filename....filename :開啟多個檔案,依次進行編輯 

 

移動游標類命令

h :游標左移一個字元 

l :游標右移一個字元 

space:游標右移一個字元 

Backspace:游標左移一個字元 

k或Ctrl+p:游標上移一行 

j或Ctrl+n :游標下移一行 

Enter :游標下移一行 

w :游標右移一個字至字首 

W:游標向前移動一個字串

b:游標左移一個字至字首 

B:游標向後移動一個字串

e或E :游標右移一個字至字尾 

ge:移動到前一個詞的末尾

) :游標移至句尾 

( :游標移至句首 

}:游標移至段落開頭 

{:游標移至段落結尾 

nG:游標移至第n行首 

n+:游標下移n行 

n-:游標上移n行 

n$:游標移至第n行尾 

H :游標移至螢幕頂行 

M :游標移至螢幕中間行 

L :游標移至螢幕最後行 

0:(注意是數字零)游標移至當前行首 

^:移動至當前行的第一個非Null 字元

$:游標移至當前行尾 

%:移動到大括弧,小括弧,中括弧對應的另一半括弧上。

gg:移動到文檔首

nG:移動到第n行首

G:移動到文檔尾

50%:移動到檔案中間

H:移動到視野首行

M:移動到視野中間

L:移動到視野尾行

Ctrl+G:顯示檔案名稱,總行數,當前位置

cd:顯示當前的工作目錄

ma [a-z] 對特定位置進行標記,使用‘x或`x跳轉到標記位置處,使用’‘或``跳回剛才位置

 

 

 

 

 

 

 

螢幕翻滾類命令 

Ctrl+u:向檔案首翻半屏 

Ctrl+d:向檔案尾翻半屏 

Ctrl+f:向檔案尾翻一屏 

Ctrl+b;向檔案首翻一屏 

Ctrl+e:向問價尾滾一行

zz:將游標置於螢幕中間

zt:把游標移至螢幕頂部

zb:把游標移至螢幕底部

nz:將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。 

set scrolloff=n:將游標置於第n行處

 

 

插入文本類命令 

i :在游標前 

I :在當前行首 

a:游標後 

A:在當前行尾 

o:在當前行之下新開一行 

O:在當前行之上新開一行 

r:替換當前字元 

R:替換當前字元及其後的字元,直至按ESC鍵 

s:從當前游標位置處開始,以輸入的文本替代指定數目的字元 

S:刪除指定數目的行,並以所輸入文本代替之 

ncw或nCW:修改指定數目的字 

nCC:修改指定數目的行 

 

刪除命令 

ndw或ndW:刪除游標處開始及其後的n-1個字 

dw  刪除一個單詞

daw    刪除一個單詞和單詞後面的空白字元

do:刪至行首 

d$:刪至行尾 

dn:刪除n+1行

ndd:刪除當前行及其後n-1行 

x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的 

Ctrl+u:刪除輸入方式下所輸入的文本 

J: 將游標所在行與下一行之間的分行符號刪掉

 

撤銷命令:

u:撤銷之前的操作,例如刪除操作

Ctrl+R 重做剛才的操作

 

 

.    使用點符號重複最後一次的修改操作

 

 

 

 

搜尋及替換命令 

/pattern:從游標開始處向檔案尾搜尋pattern 

?pattern:從游標開始處向檔案首搜尋pattern 

n:在同一方向重複上一次搜尋命令 

N:在反方向上重複上一次搜尋命令 

:s/p1/p2/g:將當前行中所有p1均用p2替代 

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代 

:g/p1/s//p2/g:將檔案中所有p1均用p2替換 

set ignorcase   尋找時忽略大小寫

set noignorecase   尋找時區分大小寫

set hlsearch 設定查詢結果高亮顯示

set nohlsearch 取消查詢結果高亮顯示

 

 

 

 

 

 

 

選項設定 

all:列出所有選項設定情況 

term:設定終端類型 

ignorance:在搜尋中忽略大小寫 

list:顯示製表位(Ctrl+I)和行尾標誌($) 

number:顯示行號 

report:顯示由面向行的命令修改過的數目 

terse:顯示簡短的警告資訊 

warn:在轉到別的檔案時若沒儲存當前檔案則顯示NO write資訊 

nomagic:允許在搜尋模式中,使用前面不帶“\”的特殊字元 

nowrapscan:禁止vi在搜尋到達檔案兩端時,又從另一端開始 

mesg:允許vi顯示其他使用者用write寫到自己終端上的資訊 

 

最後行方式命令 

:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下 

:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下 

:n1,n2 d :將n1行到n2行之間的內容刪除 

:w :儲存當前檔案 

:e filename:開啟檔案filename進行編輯 

:x:儲存當前檔案並退出 

:q:退出vi 

:q!:不儲存檔案並退出vi 

:!command:執行shell命令command 

:n1,n2 w!command:將檔案中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整個檔案內容作為command的輸入 

:r!command:將命令command的輸出結果放到當前行 

 

寄存器操作 

"?nyy:將當前行及其下n行的內容儲存到寄存器?中,其中?為一個字母,n為一個數字 

"?nyw:將當前行及其下n個字儲存到寄存器?中,其中?為一個字母,n為一個數字 

"?nyl:將當前行及其下n個字元儲存到寄存器?中,其中?為一個字母,n為一個數字 

"?p:取出寄存器?中的內容並將其放到游標位置處。這裡?可以是一個字母,也可以是一個數字 

ndd:將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中。

 

 

Vim更改字型2011年07月24日 星期日 上午 3:35


在常規Vim下, 字型沒有什麼可改的, 因為它的字型是受限於終端的設定的. 不過在GVim中, 你就有可以想怎麼改字型就怎麼改了.

Linux下改字型的主要命令就是這樣的:

:set guifont=Courier\ 14

你可以把Courier改成任何你想要的字型, 14就是你想要改的字型大小(單位是pt).

想要改Windows下的字型, 就要用下面的命令:

:set guifont=Courier:14

如果你不確定你的電腦上是否有那種字型, 你可以向下面這樣, 在上面的命令後加一個逗號, 然後加上另一個字型. 如:

:set guifont=Courier\ New\ 12, Arial\ 10

如果你的字型名中有空格或者逗號, 你就需要用一個反斜線轉義了. 如:

:set guifont=Courier\ New\ 12

這個命令就是將字型設成Courier New, 大小為12號, 不過只是在本次會話(session)中可用, 即關閉Gvim後, 又會回到原來的配置. 如果你想每次編輯檔案都能使用這個字型, 就應該在gvimrc檔案中加上一行上面同樣的命令(但注意不要set前面的冒號 ‘ : ‘ ).

[注] 當你在Windows, Linux(使用GTK+), Mac OS, 或者Photon, 你可以使用下面的字型來開啟一個字型列表:
:set guifont=*


如果你想要讓你的字型設定根據編輯的檔案(代碼, 文本, 日誌等等)而改變, 你可以設定Vim讓它通過檔案的類型來改變當前的字型. 如, 如果你想在每次開啟一個文字檔(.txt)時使用Arial 12號字型, 那你可以在vimrc檔案中加上這樣一條:

autocmd BufEnter *.txt set guifont=Arial\ 12

Gvim視窗會在每次字型的改變在自動地改變視窗大小. 也就是說你使用了一個小的字型, 你就會預設地得到一個小的視窗. 如果你有幾個像上面的那樣的配置, 幾個不同的檔案類型, 對應著幾個不同的字型, 你會很明顯地感覺這種變化. 當你用開啟了另一種類型的檔案時, 字型和視窗大小都會改變.

[注] 你可以在Vim協助系統中知道更多的關於改變字型的資訊, 通過:help ‘guifont‘

 

 

 

一、vim開啟文檔:

 

 1. vim 文檔名   普通方式開啟文檔      

2. vim +n 文檔名      開啟文檔後,定位第n行

3. vim ,進入vim介面之後使用命令 :e 文檔名 開啟文檔,此方式可以在編輯一個文檔的同時開啟另外一個文檔

4.顯示當前文檔目錄:先按1,然後Ctrl+G

5. cd  #改變vim的當前工作路徑

6.lcd  #改變當前視窗的工作目錄

7.pwd  #查看當前的工作路徑

8.set autochdir  #自動設當前編輯的檔案所在目錄為當前工作目錄

 

 

二、多文檔編輯:

1. vim 文檔1名 文檔2名 ...

2. vim ,進入vim後使用:e 文檔名 開啟文檔

3.多文檔編輯的命令如下

:n          編輯下一個文檔。

:2n        編輯下兩個文檔。

:N          編輯上一個文檔。注意,該方法只能用於同時開啟多個文檔。

:e 文檔名        這是在進入vim後,不離開 vim 的情形下開啟其他文檔。

:e# 或 Ctrl+ˆ      編輯上一個文檔,用於兩個文檔相互交換編輯時使用。?# 代表的是編輯前一次編輯的文檔

:files 或 :buffers 或 :ls     可以列出目前 緩衝區 中的所有文檔。加號 + 表示 緩衝區已經被修改過了。#代表上一次編輯的文檔,%是目前正在編輯中的文檔

:b 文檔名或編號      移至該文檔。

:f  或 Ctrl+g     顯示當前正在編輯的文檔名稱。

:f 檔名         改變編輯中的文檔名。(file)

 

三、離開vim

:q      如果文本沒有修改,則會退出,否則會出現警告,且不能離開。

:q!     放棄所有修改,強行離開。

:wq     儲存後離開即使文檔沒有修改過,也會再儲存一次。

:x        儲存後離開,文檔如果沒有修改過則不會進行儲存動作,直接離開。

:w 文檔名   即:另存新檔。不加文檔名則是寫入原文檔。

:qa 或 qa! 在開啟多文檔的情況下離開 vim。a 即 all 的意思。

:ZZ  儲存並退出當前文本

 將外部內容添加到已經開啟的文檔使用以下命令(雙引號+加號+p):

"+p

 

四、 多視窗編輯

 

:sp 文檔名  在新視窗中開啟文檔

Ctrl+w+n建立一個視窗

兩次Ctrl + w可以切換視窗

Ctrl+t  跳轉至上一個視窗

:q  退出當前編輯視窗

 

                        

協助文檔中使用  Ctrl+] 來跳轉超連結,使用Ctrl+T或者Ctrl+O來跳轉到前一個位置。

 

修改文本的三種方法:

操作符-動作,可視模式以及文字物件

c2wxxx  修改兩個單詞的距離,並插入xxx

cc    會修改一整行(會保留這一行的縮排)

c$    修改到行尾

x=dl    刪除當前游標下的一個字元

X=dh    刪除游標左邊的字元

D=d$    刪除到行尾

C=c$    修改到行尾

s=cl   修改一個字元

S=cc    修改一整行

p    在游標後面粘貼剛才刪除的內容

P    在游標前面粘貼剛才刪除的內容

xp    先刪除,再粘貼,刪除一個字元之後粘貼到另一個字元的後面,例如teh操作之後就變成了the

x    刪除游標下的字元 ("dl" 的縮寫)X    刪除游標前的字元 ("dh" 的縮寫)D    從當前位置刪除到行尾 ("d$" 的縮寫)dw    從當前位置刪除到下一個單詞開頭db    從當前位置刪除到前一個單詞的開頭diw    刪除游標上的單詞 (不包括空白字元)daw    刪除游標上的單詞 (包括空白字元)dG    刪除到檔案末dgg    刪除到檔案首  

可視模式:

v   使用v進入可視模式,然後選擇任意多的文本

o   在可視模式下選中文字後,使用o即可將游標移動至被選中的另一端

y  拷貝

yy 拷貝一整行

yw 拷貝一個單詞,然後使用p粘貼

 

文字物件:

cis    修改一個句子,表示 change inner sentence

cas    表示修改一個句子,與上面操作的區別在於as包含句子後面的空白字元

das    刪除一個句子,包括句子後面的空白字元

 

替換模式:

R   大寫的R命令可以使用連續的替換模式,使用小寫r只能替換一個字元,使用退格鍵Backspace來回複被替換的字元。。

 

 

~    修改游標下字元的大小寫

I     大寫的i在當前行的第一個非Null 字元開始插入

A    移動到行尾開始插入

 



來自為知筆記(Wiz)



Vim 常用技巧:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.