100 Vim commands every programmer should know

2009年2月4日 | 分类: Linux相关, 编辑器 | 标签: , , ,

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”
/\<\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/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/^\(.*\)\n\1$/\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
:o 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

来源:http://www.catswhocode.com/blog/100-vim-commands-every-programmer-should-know

Share
  1. 2010年12月10日01:42

    Beneficial info and excellent design you got here! I want to thank you for sharing your ideas and putting the time into the stuff you publish! Great work!

  2. Hi there,

    Thanks for sharing this link – but unfortunately it seems to be not working? Does anybody here at http://www.firestudio.cn have a mirror or another source?

    Thanks,
    Mark

  3. 2010年12月10日21:26

    Greetings Everyone! http://loanforhome.info/wp-

    content/themes/Brillyant/images/logo.jpg

    I’m doing research online Home Loans tips to get

    loans info for my family.

    Hope if anybody will give me some guide for

    Home Loans Blogs. Thanks alot!

  4. 2010年12月17日00:34

    It’s super page, I was looking for something like this

  5. 2010年12月18日08:33

    If you are open to having a guest blog poster please reply and let me know. I will provide you with unique content for your blog, thanks.

  6. 2010年12月19日14:47

    Really? you can supply your username and password what you want. Thanks.

  7. 2010年12月26日19:45

    Can you provide more information on this? cheers

  8. 2010年12月27日22:32

    Great work keep it coming

  9. 2010年12月28日19:33

    Hey,

    Thanks for sharing the link – but unfortunately it seems to be down? Does anybody here at http://www.firestudio.cn have a mirror or another source?

    Thanks,
    John

  10. 2010年12月30日05:13

    I just wanted to say that I found http://www.firestudio.cn/2009/02/04/83.html via Goolge and I am glad I did as I am looking to learn as much as I can about SEO. Keep up the good work and I will make sure to bookmark you for when I have more free time away from the books. Thanks again!

  11. 2010年12月31日13:22

    Your SEO site is excellent I will have to read it all, thank you for the diversion from my professors!

  12. 2010年12月31日18:47

    Thanks for publishing on this topic. There’s a lot of good technical information on the internet these days. You’ve got a lot of that info here on your site. I’m highly impressed – I try to keep a couple of blogs fairly neat, but it’s seemingly impossible at times. You have done a solid job with this one in particular. How do you manage it?

  13. 2011年1月1日04:03

    Thank you very much for your help, http://www.firestudio.cn/2009/02/04/83.html has been a great rest from the books, and a learning tool to further delve into the world of SEO.

  14. 2011年1月1日07:03

    Thank you for this very informative blog. I particularly like the fact that the comments are useful and provide a true value. I am presently working on my hour break and when I come home I’ll read the articles to my sister. Thank you and have a good day!

  15. Hi,

    Thanks for sharing the link – but unfortunately it seems to be down? Does anybody here at http://www.firestudio.cn have a mirror or another source?

    Thanks,
    John

  16. 2011年1月5日19:35

    Foram lançados insultos de que o app nuvenus chovendus estara possivel não somente para ipads, mas também para android e o iphone.
    Será que é real?

    Os criadores do aplicativo ainda não se pronunciaram sobre o fato, mas a logiga é realmente suportavel. Quem sabe eles não desenvolvem uma versão mais básica para estes tipos de tecnologia, incentivando as empresas a identificarem um app e aproveitar a versão mais enxuta do aplicativo.

  17. 2011年1月6日21:24

    I am glad to be one of many visitants on this outstanding website (:, thankyou for posting .

  18. Hello,

    Thanks for sharing the link – but unfortunately it seems to be down? Does anybody here at http://www.firestudio.cn have a mirror or another source?

    Thanks,
    John

  19. 2011年1月8日06:50

    as I website owner I conceive the subject matter here is rattling fantastic , thankyou for your efforts.

  20. I’ve recently started a blog, the information you provide on this site has helped me tremendously. Thank you for all of your time & work.

  21. 2011年1月14日02:29
  22. 2011年1月14日05:42

    I don’t usually reply to posts but I will in this case. WoW

  23. 2011年1月14日06:56

    You made some good points there. I did a search on the topic and found most people will agree with your blog.

  24. 2011年1月14日10:15

    I have been examinating out many of your posts and i can state clever stuff. I will definitely bookmark your site.

  25. 2011年1月20日10:06

    Thanks for an idea, you sparked at thought from a angle I hadn’t given thoguht to yet. Now lets see if I can do something with it.

  26. 2011年6月24日16:21

    tory burch is the best choose for lady

  27. 2011年6月24日16:25

    planning to stage a full-on runway show

1 trackbacks

  1. Firestudio Trackback | 2011/01/10