130 個你需要了解的 vim 命令

liypsky發表於2013-08-14

基礎

:e filename

Open filename for edition

:w

Save file

:q

Exit Vim

:q!

Quit without saving

:x

Write file (if changes has been made) and exit

:sav filename

Saves file as filename

.

Repeats the last change made in normal mode

5.

Repeats 5 times the last change made in normal mode

[@more@] Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 在檔案中移動

k or Up Arrow

move the cursor up one line

j or Down Arrow

move the cursor down one line

e

move the cursor to the end of the word

b

move the cursor to the begining of the word

0

move the cursor to the begining of the line

G

move the cursor to the end of the line

gg

move the cursor to the begining of the file

L

move the cursor to the end of the file

:59

move cursor to line 59. Replace 59 by the desired line number.

20|

move cursor to column 20.

%

Move cursor to matching parenthesis

[[

Jump to function start

[{

Jump to block start

剪下、複製和貼上

y

Copy the selected text to clipboard

p

Paste clipboard contents

dd

Cut current line

yy

Copy current line

y$

Copy to end of line

D

Cut to end of line

搜尋

/word

Search word from top to bottom

?word

Search word from bottom to top

*

Search the word under cursor

/cstring

Search STRING or string, case insensitive

/jo[ha]n

Search john or joan

/< the

Search the, theatre or then

/the>

Search the or breathe

/< the>

Search the

/< ¦.>

Search all words of 4 letters

//

Search fred but not alfred or frederick

/fred|joe

Search fred or joe

/

Search exactly 4 digits

/^n{3}

Find 3 empty lines

:bufdo /searchstr/

Search in all open files

bufdo %s/something/somethingelse/g

Search something in all the open buffers and replace it withsomethingelse

替換

:%s/old/new/g

Replace all occurences of old by new in file

:%s/onward/forward/gi

Replace onward by forward, case unsensitive

:%s/old/new/gc

Replace all occurences with confirmation

:2,35s/old/new/g

Replace all occurences between lines 2 and 35

:5,$s/old/new/g

Replace all occurences from line 5 to EOF

:%s/^/hello/g

Replace the begining of each line by hello

:%s/$/Harry/g

Replace the end of each line by Harry

:%s/onward/forward/gi

Replace onward by forward, case unsensitive

:%s/ *$//g

Delete all white spaces

:g/string/d

Delete all lines containing string

:v/string/d

Delete all lines containing which didnt contain string

:s/Bill/Steve/

Replace the first occurence of Bill by Steve in current line

:s/Bill/Steve/g

Replace Bill by Steve in current line

:%s/Bill/Steve/g

Replace Bill by Steve in all the file

:%s/^M//g

Delete DOS carriage returns (^M)

:%s/r/r/g

Transform DOS carriage returns in returns

:%s#]+>##g

Delete HTML tags but keeps text

:%s/^(.*)n1$/1/

Delete lines which appears twice

Ctrl+a

Increment number under the cursor

Ctrl+x

Decrement number under cursor

ggVGg?

Change text to Rot13

大小寫

Vu

Lowercase line

VU

Uppercase line

g~~

Invert case

vEU

Switch word to uppercase

vE~

Modify word case

ggguG

Set all text to lowercase

gggUG

Set all text to uppercase

:set ignorecase

Ignore case in searches

:set smartcase

Ignore case in searches excepted if an uppercase letter is used

:%s/<.>

Sets first letter of each word to uppercase

:%s/<.>

Sets first letter of each word to lowercase

:%s/.*/u&

Sets first letter of each line to uppercase

:%s/.*/l&

Sets first letter of each line to lowercase

讀寫檔案

:1,10 w outfile

Saves lines 1 to 10 in outfile

:1,10 w >> outfile

Appends lines 1 to 10 to outfile

:r infile

Insert the content of infile

:23r infile

Insert the content of infile under line 23

檔案瀏覽器

:e .

Open integrated file explorer

:Sex

Split window and open integrated file explorer

:Sex!

Same as :Sex but split window vertically

:browse e

Graphical file explorer

:ls

List buffers

:cd ..

Move to parent directory

:args

List files

:args *.php

Open file list

:grep expression *.php

Returns a list of .php files contening expression

gf

Open file name under cursor

Unix 系統互動

:!pwd

Execute the pwd unix command, then returns to Vi

!!pwd

Execute the pwd unix command and insert output in file

:sh

Temporary returns to Unix

$exit

Retourns to Vi

對齊

:%!fmt

Align all lines

!}fmt

Align all lines at the current position

5!!fmt

Align the next 5 lines

Tabs/Windows

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/678020/viewspace-1060845/,如需轉載,請註明出處,否則將追究法律責任。

130 個你需要了解的 vim 命令
請登入後發表評論 登入
全部評論

:tabnew

Creates a new tab

gt

Show next tab

:tabfirst

Show first tab

相關文章