超过 130 个你需要了解的 vim 命令 - 转自开源中国
来源:互联网 发布:大唐软件 编辑:程序博客网 时间:2024/05/01 06:40
从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编辑器之一。5年前,我写了一个问自己名为 “每个程序员都应该知道的 100 个 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 mode5.Repeats 5 times the last change made in normal mode在文件中移动
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 lineggmove the cursor to the begining of the fileLmove the cursor to the end of the file: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 clipboardpPaste clipboard contentsddCut current lineyyCopy current liney$Copy to end of lineDCut 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/\<\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 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’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 Rot13大小写
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 lowercase读写文件
: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文件浏览器
: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 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 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 window分屏显示
: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 window自动完成
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 position缩写
:ab mail mail@provider.orgDefine mail as abbreviation of mail@provider.org文本缩进
: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 file语法高亮
:syntax onTurn on syntax highlighting:syntax offTurn off syntax highlighting:set syntax=perlForce syntax highlighting
via catswhocode
Vim 的详细介绍:请点这里
Vim 的下载地址:请点这里
想通过手机客户端访问开源中国:请点这里
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:超过 130 个你需要了解的 vim 命令
本文地址:http://www.oschina.net/news/43167/130-essential-vim-commands
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区
转载请注明:文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:超过 130 个你需要了解的 vim 命令
本文地址:http://www.oschina.net/news/43167/130-essential-vim-commands
- 超过 130 个你需要了解的 vim 命令 - 转自开源中国
- 超过 130 个你需要了解的 vim 命令
- 超过 130 个你需要了解的 vim 命令
- 超过 130 个你需要了解的 vim 命令
- 超过 130 个你需要了解的 vim 命令
- 超过 130 个你需要了解的 vim 命令
- 超过 130 个你需要了解的 vim 命令
- 超过130个你需要了解的vim命令
- 超过130个你需要了解的vim命令
- 超过 130 个你需要了解的 vim 命令
- 超过130个你需要了解的vim命令
- 超过130个你需要了解的vim命令
- 超过130个你需要了解的vim命令
- 超过 130 个你需要了解的 vim 命令
- 转载:130个你需要了解的VIM命令
- 130 个你需要了解的 vim 命令
- 需要了解的 vim 命令
- 需要了解的vim命令
- c 语言执行过程
- Linux下删除文件为何空间不释放
- 我的Android进阶之旅------>HTTP 返回状态值详解
- 请实现以下函数把一个用阿拉伯字符串表示的自然数(串长大于0,小于13,串保证是合法的)转换成相应的中文字符串。例如1234567890,应输出“十二亿三千四百五十六万七千八百九十”
- LoadRunner 11.50 下载+安装+补丁(图文并茂)
- 超过 130 个你需要了解的 vim 命令 - 转自开源中国
- UPnP协议编程实践(二)
- 程序员与卓别林
- git多人协作开发流程(以blog为例)
- uva 10688 - The Poor Giant(区间dp)
- Kinect for Windows SDK开发入门(十四):进阶指引 上
- U盘引导安装Solaris11_x86_64
- hdu 4715Difference Between Primes
- Finding Windows CE bugs with help from "Dr. Watson"