首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

【转】软件工程师应该知道的100个Vim命令

2012-08-15 
【转】程序员应该知道的100个Vim命令:e filenameOpen?filename?for edition:wSave file:qExit Vim:w!Exit Vi

【转】程序员应该知道的100个Vim命令

:e filenameOpen?filename?for edition:wSave file:qExit Vim:w!Exit Vim without saving

Search/wordSearch?word?from top to bottom?wordSearch?word?from bottom to top/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/<dddd>Search exactly 4 digits/^n{3}Find 3 empty lines:bufdo /searchstr/Search in all open files

Replace:%s/old/new/gReplace all occurences of?old?by?new?in file:%s/old/new/gwReplace 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’t containstring: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/r//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 twiceCtrl+aIncrement number under the cursorCtrl+xDecrement number under cursorggVGg?Change text to Rot13

CaseVuLowercase lineVUUppercase lineg~~Invert casevEUSwitch word to uppercasevE~Modify word caseggguGSet all text to lowercase:set ignorecaseIgnore case in searches:set smartcaseIgnore case in searches excepted if an uppercase letter is used:%s/<./u&/gSets first letter of each word to uppercase:%s/<./l&/gSets 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

Read/Write files:1,10 w outfileSaves lines 1 to 10 in?outfile:1,10 w >> outfileAppends lines 1 to 10 to?outfile:r infileInsert the content of?infile:23r infileInsert the content of?infile?under line 23

File explorer:e .Open integrated file explorer:SexSplit window and open integrated file explorer: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?expressiongfOpen file name under cursor

Interact with 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

Alignment:%!fmtAlign all lines!}fmtAlign all lines at the current position5!!fmtAlign the next 5 lines

Tabs:tabnewCreates a new tabgtShow 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

Window spliting:e filenameEdit?filename?in current window:split filenameSplit the window and open?filenamectrl-w up arrowPuts cursor in top windowctrl-w ctrl-wPuts cursor in next windowctrl-w_Maximise current windowctrl-w=Gives the same size to all windows10 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

Auto-completionCtrl+n Ctrl+p (in insert mode)Complete wordCtrl+x Ctrl+lComplete line:set dictionary=dictDefine?dict?as a dictionnaryCtrl+x Ctrl+kComplete with dictionnary

MarksmkMarks current position as?k?kMoves cursor to mark?kd?kDelete all until mark?k

Abbreviations:ab mail mail@provider.orgDefine?mail?as abbreviation ofmail@provider.org

Text indent:set autoindentTurn on auto-indent:set smartindentTurn on intelligent auto-indent:set shiftwidth=4Defines 4 spaces as indent sizectrl-t, ctrl-dIndent/un-indent in insert mode>>Indent<<Un-indent

Syntax highlighting:syntax onTurn on syntax highlighting:syntax offTurn off syntax highlighting:set syntax=perlForce syntax highlighting

?

?

转载地址:http://my.oschina.net/leeming/blog/57857

?

?

热点排行