vi常用命令130
来源:互联网 发布:nodejs 获取json key 编辑:程序博客网 时间:2024/06/04 19:36
http://www.catswhocode.com/blog/130-essential-vim-commands
130+ essential vim commands
Since the 70′s, vi and vim are very popular text editors among programmers. 5 years ago, I wrote an article named “100 vim commands every programmer should know” and here is a reworked, updated version. Enjoy!
Basics
: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 mode5.Repeats 5 times the last change made in normal modeMoving in the file
k or Up Arrowmove the cursor up one linej or Down Arrowmove the cursor down one lineemove the cursor to the end of the wordbmove the cursor to the begining of the word0move the cursor to the begining of the lineGmove the cursor to the end of the fileggmove the cursor to the begining of the fileLmove 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 startCut, copy & paste
yCopy the selected text to clipboardpPaste clipboard contentsddCut current lineyyCopy current liney$Copy to end of lineDCut to end of lineSearch
/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/\<\d\d\d\d\>Search exactly 4 digits/^\n\{3}Find 3 empty lines:bufdo /searchstr/Search in all open filesbufdo %s/something/somethingelse/gSearch something in all the open buffers and replace it with somethingelseReplace
:%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’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/^\(.*\)\n\1$/\1/Delete lines which appears twiceCtrl+aIncrement number under the cursorCtrl+xDecrement number under cursorggVGg?Change text to Rot13Case
VuLowercase lineVUUppercase lineg~~Invert casevEUSwitch word to uppercasevE~Modify word caseggguGSet all text to lowercasegggUGSet all text to uppercase: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 lowercaseRead/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 23File explorer
: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 expressiongfOpen file name under cursorInteract 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 ViAlignment
:%!fmtAlign all lines!}fmtAlign all lines at the current position5!!fmtAlign the next 5 linesTabs/Windows
: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:new abc.txtEdit abc.txt in new windowWindow 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_Maximize current window verticallyctrl-w|Maximize current window horizontallyctrl-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 windowAuto-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 dictionnaryMarks
m {a-z}Marks current position as {a-z}' {a-z}Move to position {a-z}''Move to previous positionAbbreviations
:ab mail mail@provider.orgDefine mail as abbreviation of mail@provider.orgText 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=%Indent the code between parenthesis1GVG=Indent the whole fileSyntax highlighting
:syntax onTurn on syntax highlighting:syntax offTurn off syntax highlighting:set syntax=perlForce syntax highlighting 0 0
- vi常用命令130
- vi常用命令
- vi 常用命令
- vi常用命令
- Vi常用命令
- VI常用命令
- vi常用命令
- VI常用命令
- vi常用命令
- VI常用命令
- Vi常用命令
- VI 常用命令
- VI常用命令
- vi 常用命令
- vi 常用命令
- VI常用命令
- vi常用命令
- Vi常用命令
- Couldn't load BaiduMapSDK_v2_1_3 from loader dalvik.system.
- cgroup 笔记随笔
- 王大爷的创业史
- MFC单文档项目中的类介绍
- IOS8以上打开定位闪退的问题
- vi常用命令130
- js获取网页的高度
- 陈华:冒泡算法实现数组排序
- R语言绘制热图Heatmap
- 算法关系梳理
- JAVA中NIO,BIO,AIO的理解
- Application之属性restoreAnyVersion
- mysql安装常见问题(系统找不到指定的文件、发生系统错误 1067 进程意外终止)
- 图像放缩之双线性内插值