每个程序员必须知道的100条指令

来源:互联网 发布:佛山编程培训学校 编辑:程序博客网 时间:2024/04/27 16:20

转载自:http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know

Published on June 30th, 2008 by Jean-Baptiste Jung.131 Comments -

Since the 70′s, Vi is one of the programmer’s best friend. Nevermind you’re new to Vi or not, here’s a big list of 100 useful commands, organized by topic, which will make your coder life better.

Basics

:e filenameOpen filename for edition:wSave file:qExit Vim:w!Write file and quit

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/\<\d\d\d\d\>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 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/\r//gDelete DOS carriage returns (^M):%s/\r/\r/gTransform DOS carriage returns in returns:%s#<[^>]\+>##gDelete HTML tags but keeps text:%s/^\(.*\)\n\1$/\1/Delete lines which appears twiceCtrl+aIncrement number under the cursorCtrl+xDecrement number under cursorggVGg?Change text to Rot13

Case

VuLowercase 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-completion

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

Marks

mkMarks current position as k˜kMoves cursor to mark kd™kDelete all until mark k

Abbreviations

:ab mail mail@provider.orgDefine mail as abbreviation of mail@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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃减肥药上火怎么办呢 魔域怀旧版新区进不去怎么办 dnf十周年礼盒打开了怎么办 房地产项目完成后企业员工怎么办啊 韩服lol延迟太高怎么办 LOL等级奖励卡掉怎么办 魔域手机号换了怎么办 买的qq号找回了怎么办 买dnf账号被找回怎么办 微博账号已锁定怎么办 抖音账号封手机怎么办 手机号码绑定被别人占用了怎么办 DNF账号给找回了怎么办 转转上被骗了200怎么办 7彩账号被锁定怎么办 猪不吃食没精神怎么办 cf手游签到没给怎么办 cf说停止运行了怎么办 cf端游永久禁赛怎么办 cf端游爆破怕死怎么办 王者荣耀累计扣分12分怎么办 去医院看病没带身份证怎么办 ps4星战2鬼服怎么办 冒险岛英雄五转怎么办 6儿童视力低常怎么办 腰干活累的酸痛怎么办 狗狗体力很差怎么办啊 脉差总是五十多怎么办 吃过敏药嗜睡乏力怎么办 写字紧张心跳的快手抖怎么办 怀孕食欲差没精神怎么办 爬个三楼就喘了怎么办 头被篮球砸了怎么办 打球手指肿了很久怎么办 客人吃饭跑单了怎么办 脑子总是记不住东西怎么办 穿的鞋有味道怎么办 生完孩子血糖高怎么办 生了孩子子宫大怎么办 生完孩子阴吹怎么办 怀孕初期感冒嗓子发炎怎么办