February 5, 2009100 Vim commands every programmer should know
Author : Kunn | Views : 241 | Comments : 3
Search
/word Search “word” from top to bottom
?word Search “word” from bottom to top
/jo[ha]n Search “john” or “joan”
/< the Search “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|joe Search “fred” or “joe”
/
/^n{3} Find 3 empty lines
:bufdo /searchstr/ Search in all open files
Replace
:%s/old/new/g Replace all occurences of “old” by “new” in file
:%s/old/new/gw Replace all occurences with confirmation
:2,35s/old/new/g Replace all occurences between lines 2 and 35
:5,$s/old/new/g Replace all occurences from line 5 to EOF
:%s/^/hello/g Replace the begining of each line by “hello”
:%s/$/Harry/g Replace the end of each line by “Harry”
:%s/onward/forward/gi Replace “onward” by “forward” , case unsensitive
:%s/ *$//g Delete all white spaces
:g/string/d Delete all lines containing “string”
:v/string/d Delete 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/g Replace “Bill” by “Steve” in current line
:%s/Bill/Steve/g Replace “Bill” by “Steve” in all the file
:%s/r//g Delete DOS carriage returns (^M)
:%s/r/r/g Transform DOS carriage returns in returns
:%s#<[^>]+>##g Delete HTML tags but keeps text
:%s/^(.*)n1$/1/ Delete lines which appears twice
Ctrl+a Increment number under the cursor
Ctrl+x Decrement number under cursor
ggVGg? Change text to Rot13
Case
Vu Lowercase line
VU Uppercase line
g~~ Invert case
vEU Switch word to uppercase
vE~ Modify word case
ggguG Set all text to lowercase
:set ignorecase Ignore case in searches
:set smartcase Ignore case in searches excepted if an uppercase letter is used
:%s/<./u&/g Sets first letter of each word to uppercase
:%s/<./l&/g Sets 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 outfile Saves lines 1 to 10 in outfile
:1,10 w >> outfile Appends lines 1 to 10 to outfile
:r infile Insert the content of infile
:23r infile Insert the content of infile under line 23
File explorer
:e . Open integrated file explorer
:Sex Split window and open integrated file explorer
:browse e Graphical file explorer
:ls List buffers
:cd .. Move to parent directory
:args List files
:args *.php Open file list
:grep expression *.php Returns a list of .php files contening expression
gf Open file name under cursor
Interact with Unix
:!pwd Execute the “pwd” unix command, then returns to Vi
!!pwd Execute the “pwd” unix command and insert output in file
:sh Temporary returns to Unix
$exit Retourns to Vi
Alignment
:%!fmt Align all lines
!}fmt Align all lines at the current position
5!!fmt Align the next 5 lines
Tabs
:tabnew Creates a new tab
gt Show next tab
:tabfirst Show first tab
:tablast Show last tab
:tabm n(position) Rearrange tabs
:tabdo %s/foo/bar/g Execute a command in all tabs
:tab ball Puts all open files in tabs
Window spliting
:e filename Edit filename in current window
:split filename Split the window and open filename
ctrl-w up arrow Puts cursor in top window
ctrl-w ctrl-w Puts cursor in next window
ctrl-w_ Maximise current window
ctrl-w= Gives the same size to all windows
10 ctrl-w+ Add 10 lines to current window
:vsplit file Split window vertically
:sview file Same as :split in readonly mode
:hide Close current window
nly Close all windows, excepted current
:b 2 Open #2 in this window
Auto-completion
Ctrl+n Ctrl+p (in insert mode) Complete word
Ctrl+x Ctrl+l Complete line
:set dictionary=dict Define dict as a dictionnary
Ctrl+x Ctrl+k Complete with dictionnary
Marks
mk Marks current position as k
‘k Moves cursor to mark k
d’k Delete all until mark k
Abbreviations
:ab mail mail@provider.org Define mail as abbreviation of mail@provider.org
Text indent
:set autoindent Turn on auto-indent
:set smartindent Turn on intelligent auto-indent
:set shiftwidth=4 Defines 4 spaces as indent size
ctrl-t, ctrl-d Indent/un-indent in insert mode
>> Indent
<< Un-indent
Syntax highlighting
:syntax on Turn on syntax highlighting
:syntax off Turn off syntax highlighting
:set syntax=perl Force syntax highlighting
source
怎么把我的连接去掉了呢?
呵呵,阿露换了一个新主题
所以连接先放内页 了!
等修改后就放首页 了放心!
@阿露:
其实我真正删除你的链接是因为你的首页上来就是个AD,而且说些很煽情的话,这样让我很反感。
我到你的网站看的是内容,而不是挥泪大甩卖,有种被愚弄的感觉,包括通过这里访问你网站的朋友….
其实我并不反对放AD,我自己也在做,但是只是不影响用户浏览就行,不要把用户当初傻瓜。
可能我有点过激,抱歉。
很高兴你能告诉我实情!
我也解释一下:你估计我用AD能拿到多少收入呢?
我在日志中提到,我一朋友说买凡客的东西,所以我给了一个位置放这个东西!是为了方便我的朋友!并不是以取得收益为主要目的!
我也没有把用户当作傻瓜,因为博客重建后还没有什么用户!我写的东西基本上可以说是自己的东西!
我觉得我应该没有影响用户的浏览,因为我用的本地主机,基本上速度要超过那些国外的WP主机。。。
o(∩_∩)o…你没有过激,立场不同!
谢谢你做过的链接,也很高兴认识你,呵呵!
Leave your response!
follow me on Twitter
Twitter Updates
Recent Posts
Recent Comments
Tag Cloud
2008 2009 Adsense Blog Cherish Friends Google Hip Hop Music NBA VIM web2.0 Yahoo 上上签 乞爱者 伍佰 信念 六人行 剁椒鱼头 十字绣 双腿狗 周华健 命 太多 小游戏 开心 张学友 彝人制造 技巧 搞笑 摄影 昵称 武林外传 浪人情歌 电台 科比 网易 老照片 肖申克的救赎 股票 艾弗森 英国达人 英语 范伟 韦德
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
Categories
Blogroll
Archives
Random Entries
Most Commented
Meta