SAY討論區

標題: 實用手冊:130+ 提高開發效率的 vim 常用命令 - 網站設計及開發 [打印本頁]

作者: 沫茶茶    時間: 2013-10-19 12:24:41     標題: 實用手冊:130+ 提高開發效率的 vim 常用命令 - 網站設計及開發

Vim 是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。和 Emacs 並列成為類 Unix 系統用戶最喜歡的編輯器。這裡收錄了130+程序員必備的 vim 命令,幫助你提高開發效率。 
基本命令

:e filenameOpen filename for edition
:wSave file
:qExit Vim
:q!Quit without saving
:xWrite file (if changes has been made) and exit
:sav filenameSaves file as filename
.Repeats the last change made in normal mode
5.Repeats 5 times the last change made in normal mode
在文件中移動

k or Up Arrowmove the cursor up one line
j or Down Arrowmove the cursor down one line
emove the cursor to the end of the word
bmove the cursor to the begining of the word
0move the cursor to the begining of the line
Gmove the cursor to the end of the file
ggmove the cursor to the begining of the file
Lmove the cursor to the bottom of the screen
:59move 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
剪切、拷貝和粘貼

yCopy the selected text to clipboard
pPaste clipboard contents
ddCut current line
yyCopy current line
y$Copy to end of line
DCut to end of line
搜索

/wordSearch word from top to bottom
?wordSearch word from bottom to top
*Search the word under cursor
/cstringSearch STRING or string, case insensitive
/jo[ha]nSearch john or joan
/< theSearch 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|joeSearch fred or joe
/Search exactly 4 digits
/^n{3}Find 3 empty lines
:bufdo /searchstr/Search in all open files
bufdo %s/something/somethingelse/gSearch something in all the open buffers and replace it with somethingelse
替換

:%s/old/new/gReplace all occurences of old by new in file
:%s/onward/forward/giReplace onward by forward, case unsensitive
:%s/old/new/gcReplace all occurences with confirmation
:2,35s/old/new/gReplace all occurences between lines 2 and 35
:5,$s/old/new/gReplace all occurences from line 5 to EOF
:%s/^/hello/gReplace the begining of each line by hello
:%s/$/Harry/gReplace the end of each line by Harry
:%s/onward/forward/giReplace onward by forward, case unsensitive
:%s/ *$//gDelete all white spaces
:g/string/dDelete all lines containing string
:v/string/dDelete all lines containing which didn&rsquo;t contain string
:s/Bill/Steve/Replace the first occurence of Bill by Steve in current line
:s/Bill/Steve/gReplace Bill by Steve in current line
:%s/Bill/Steve/gReplace Bill by Steve in all the file
:%s/^M//gDelete DOS carriage returns (^M)
:%s/r/r/gTransform DOS carriage returns in returns
:%s#]+>##gDelete HTML tags but keeps text
:%s/^(.*)n1$/1/Delete lines which appears twice
Ctrl+aIncrement number under the cursor
Ctrl+xDecrement number under cursor
ggVGg?Change text to Rot13
大小寫

VuLowercase line
VUUppercase line
g~~Invert case
vEUSwitch word to uppercase
vE~Modify word case
ggguGSet all text to lowercase
gggUGSet all text to uppercase
:set ignorecaseIgnore case in searches
:set smartcaseIgnore case in searches excepted if an uppercase letter is used
:%s/ outfileAppends lines 1 to 10 to outfile
:r infileInsert the content of infile
:23r infileInsert the content of infile under line 23
文件瀏覽器

:e .Open integrated file explorer
:SexSplit window and open integrated file explorer
:Sex!Same as :Sex but split window vertically
:browse eGraphical file explorer
:lsList buffers
:cd ..Move to parent directory
:argsList files
:args *.phpOpen file list
:grep expression *.phpReturns a list of .php files contening expression
gfOpen file name under cursor
和 Unix 系統交互

:!pwdExecute the pwd unix command, then returns to Vi
!!pwdExecute the pwd unix command and insert output in file
:shTemporary returns to Unix
$exitRetourns to Vi
對齊

:%!fmtAlign all lines
!}fmtAlign all lines at the current position
5!!fmtAlign the next 5 lines
選項卡/窗口

:tabnewCreates a new tab
gtShow next tab
:tabfirstShow first tab
:tablastShow last tab
:tabm n(position)Rearrange tabs
:tabdo %s/foo/bar/gExecute a command in all tabs
:tab ballPuts all open files in tabs
:new abc.txtEdit abc.txt in new window
分屏顯示

:e filenameEdit filename in current window
:split filenameSplit the window and open filename
ctrl-w up arrowPuts cursor in top window
ctrl-w ctrl-wPuts cursor in next window
ctrl-w_Maximize current window vertically
ctrl-w|Maximize current window horizontally
ctrl-w=Gives the same size to all windows
10 ctrl-w+Add 10 lines to current window
:vsplit fileSplit window vertically
:sview fileSame as :split in readonly mode
:hideClose current window
:­nlyClose all windows, excepted current
:b 2Open #2 in this window
自動完成

Ctrl+n Ctrl+p (in insert mode)Complete word
Ctrl+x Ctrl+lComplete line
:set dictionary=dictDefine dict as a dictionnary
Ctrl+x Ctrl+kComplete with dictionnary
標記

m {a-z}Marks current position as {a-z}
&#39; {a-z}Move to position {a-z}
&#39;&#39;Move to previous position
縮寫

:ab mail [email protected]Define mail as abbreviation of [email protected]
文本縮進

[table=98%][tr][td]:set autoindent[/td][td]Turn on auto-indent[/td][/tr][tr][td]:set smartindent[/td][td]Turn on intelligent auto-indent[/td][/tr][tr][td]:set shiftwidth=4[/td][td]Defines 4 spaces as indent size[/td][/tr][tr][td]ctrl-t, ctrl-d[/td][td]Indent/un-indent in insert mode[/td][/tr][tr][td]>>[/td][td]Indent[/td][/tr][tr][td]
作者: xiao丸子    時間: 2013-10-19 15:06:03

似曾相識的感覺
作者: andykom28    時間: 2013-10-19 15:09:56

我也來頂一下..  
作者: stk190    時間: 2013-10-19 15:10:34

我不是隨便的人。我隨便起來不是人
作者: 現實999    時間: 2013-10-19 15:15:42

這貼子你會收藏嗎
作者: fifidodo3    時間: 2013-10-19 15:40:53

飯可以亂吃,話也可以亂說,但帖子不可以亂髮哦
作者: 花家姐    時間: 2013-10-19 15:46:04

哈哈,頂你了哦.
作者: ~Muscle~    時間: 2013-10-19 15:57:24

謝謝分享
作者: 世界沒日    時間: 2013-10-19 16:33:57

好帖,有才
作者: michael.huang    時間: 2013-10-19 16:36:51

謝謝分享了!
作者: 太陽穴    時間: 2013-10-19 20:14:26

我不是隨便的人。我隨便起來不是人
作者: nh88    時間: 2013-10-19 23:40:39

分享一切美好的事物是樓主的責任,回覆是每一位會員的義務
作者: alvinsiusiu    時間: 2013-10-20 03:18:12

沒看過這麼好的帖子!
作者: 鳥不起點算    時間: 2013-10-20 05:40:59

不錯,感謝樓主
作者: yan4327    時間: 2013-10-20 09:09:28

對不起,我走錯地方了,呵呵
作者: 切雞飯    時間: 2013-10-20 15:06:42

不看白不看,看也不白看
作者: ^^SaSabb    時間: 2013-10-20 22:26:36

支持一下
作者: 北極蝦    時間: 2013-10-21 02:35:31

人生路長,回覆常常
作者: HOTSTUDIO阿蚊    時間: 2013-10-21 05:41:01

沒看過這麼好的帖子!
作者: coffyma    時間: 2013-10-21 07:51:41

一個子 沒看懂
作者: naturebeehk    時間: 2013-10-21 11:22:43

既然來了,就留個腳印
作者: HOTSTUDIO阿蚊    時間: 2013-10-26 18:18:54

回復一下
作者: gaiful    時間: 2013-10-27 06:14:31

不怎麼好看
作者: 太陽穴    時間: 2013-10-27 13:44:37

自己知道了  
作者: 十兵衛    時間: 2013-10-28 00:07:42

加油啊!!!!頂哦!!!!!支持樓主,支持你~
作者: kenneth_sweet    時間: 2013-10-28 08:12:34

賺點分不容易啊
作者: 段皇爺    時間: 2013-10-28 19:08:50

有一天醒來,我的電腦就看到尼伊達論壇了
作者: 我不是傻鴨    時間: 2013-10-29 04:09:56

這樣的貼子,不頂說不過去啊
作者: LMFAO    時間: 2013-10-29 09:00:02

你喜歡貼子還是發貼子的人




歡迎光臨 SAY討論區 (http://forum.go2tutor.com/) Powered by Discuz! X2