VIM基础130命令

http://www.xprogrammer.com/909.html

基础

:e filenameOpenfilenamefor edition
:wSave file
:qExit Vim
:q!Quit without saving
:xWrite file (if changes has been made) and exit
:sav filenameSaves file asfilename
.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 line
ggmove the cursor to the begining of the file
Lmove the cursor to the end of the file
:59move cursor to line59. Replace59by the desired line number.
20|move cursor to column20.
%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

搜索

/wordSearchwordfrom top to bottom
?wordSearchwordfrom bottom to top
*Search the word under cursor
/\cstringSearchSTRINGorstring, case insensitive
/jo[ha]nSearchjohnorjoan
/\< theSearch the, theatre orthen
/the\>Searchtheorbreathe
/\< the\>Searchthe
/\< ¦.\>Search all words of 4 letters
/\/Searchfredbut notalfredorfrederick
/fred\|joeSearchfredorjoe
/\<\d\d\d\d\>Search exactly 4 digits
/^\n\{3}Find 3 empty lines
:bufdo /searchstr/Search in all open files
bufdo %s/something/somethingelse/gSearchsomethingin all the open buffers and replace it withsomethingelse

替换

:%s/old/new/gReplace all occurences ofoldbynewin 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 byhello
:%s/$/Harry/gReplace the end of each line byHarry
:%s/onward/forward/giReplaceonwardbyforward, case unsensitive
:%s/ *$//gDelete all white spaces
:g/string/dDelete all lines containingstring
:v/string/dDelete all lines containing which didn’t containstring
:s/Bill/Steve/Replace the first occurence ofBillbyStevein current line
:s/Bill/Steve/gReplaceBillbyStevein current line
:%s/Bill/Steve/gReplaceBillbyStevein 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 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/\<./\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 inoutfile
:1,10 w >> outfileAppends lines 1 to 10 tooutfile
:r infileInsert the content ofinfile
:23r infileInsert the content ofinfileunder line 23

文件浏览器

:e .Open integrated file explorer
:SexSplit window and open integrated file explorer
:Sex!Same as:Sexbut 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 conteningexpression
gfOpen file name under cursor

和 Unix 系统交互

:!pwdExecute thepwdunix command, then returns to Vi
!!pwdExecute thepwdunix 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

Tabs/Windows

: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.txtEditabc.txtin new window

分屏显示

:e filenameEditfilenamein current window
:split filenameSplit the window and openfilename
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:splitin 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=dictDefinedictas a dictionnary
Ctrl+x Ctrl+kComplete with dictionnary

Marks

m {a-z}Marks current position as{a-z}
‘ {a-z}Move to position{a-z}
Move to previous position

缩写

:ab mail mail@provider.orgDefinemailas abbreviation ofmail@provider.org

文本缩进

:set autoindentTurn on auto-indent
:set smartindentTurn on intelligent auto-indent
:set shiftwidth=4Defines 4 spaces as indent size
ctrl-t, ctrl-dIndent/un-indent in insert mode
>>Indent
<<Un-indent
=%Indent the code between parenthesis
1GVG=Indent the whole file

语法高亮

:syntax onTurn on syntax highlighting
:syntax offTurn off syntax highlighting
:set syntax=perlForce syntax highlighting
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值