A couple of my items. Click to view more. I think you need something like this
 

 

2008-08-31

Vim Editor : 100 commands every admin should know


First I must say that I do not like the Vi editor - I’m a Nano man myself. I might not be hardcore Linux enough (yet) to really appreciate it. One of the things that drives me nuts about it is that its not intuitive or like any other editor- but i guess that’s what makes it so powerful!.

I came across this fanatic article by jbj over at Cats Who Code that details 100 Vi commands to help you get the most out of the editor and with there permission I’ve re produced it here.

Enjoy

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
  • :only 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

Related Posts

This entry was posted on Sunday, August 31st, 2008 at 8:30 am and is filed under Linux. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

There are 3 Responses to “ Vim Editor : 100 commands every admin should know ”

1

jbj Says

Glad you enjoyed the article! Vim is a fantastic tool!


2

Jamie Le Souef Says

hi jbj!

Thanks for the original post. After your post I’ve started to use vim more. The search tools especially!


3

Richard Says

That is a great list of Vi commands. I am not very big on linux myself but it gets the job done.


Track & Ping backs

Leave a Reply

 

recent projects

My Boy (1)

Title : My Boy (1)
Media: Canon EOS 350D DSLR, Adobe Lightroom, Photoshop
Description : A day out in the park with my world.

Tasmania Corrective Services Badge

Title : Tasmania Corrective Services Badge
Media: Adobe Illustrator, Stitch
Description : Badge for the Canine Drug Detection Unit

 

Webb Martin Consulting Website Concept 1

Title : Webb Martin Consulting Website Concept 1
Media: Blog/Website, flash, css, xhtml, php
Description : Website deisgn for Webb Martin Consulting

Webb Martin Website Design Concept

Title : Webb Martin Website Design Concept
Media: Wordpress, CSS, xhtml, php
Description : Concept website design for Webb Martin.

 

 

site tags

 

meta

About Jamie Le Souëf

Jamie Le Souef

I'm a 27 year old Freelance Front and Back end designer /developer from Melbourne, Australia. I'll put more about me in here once i get my about page done

Ajax CommentLuv Enabled 67885f39b533899c64b408034951e375

syndication & misc