Skip to content

ivans-netto/vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

Vim config

🍒 This is my .vimrc file with focus on front-end development. Its based on L0stSoul file and some tricks and tips that I'll include as time goes by.

SOME SHORTCUTS

BASICS

  • :e filename Open filename for edition
  • :w Save file
  • :q Exit Vim
  • :q! Quit without saving
  • :x Write file (if changes has been made) and exit
  • :sav filename Saves file as filename
  • . Repeats the last change made in normal mode
  • 5. Repeats 5 times the last change made in normal mode

MOVING IN THE FILE

  • k or Up Arrow move the cursor up one line
  • j or Down Arrow move the cursor down one line
  • e move the cursor to the end of the word
  • b move the cursor to the begining of the word
  • 0 move the cursor to the begining of the line
  • G move the cursor to the end of the file
  • gg move the cursor to the begining of the file
  • L move the cursor to the bottom of the screen
  • :59 move 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

CUT, COPY & PASTE

  • y Copy the selected text to clipboard
  • p Paste clipboard contents
  • dd Cut current line
  • yy Copy current line
  • y$ Copy to end of line
  • D Cut to end of line

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
  • =% Indent the code between parenthesis
  • 1GVG= Indent the whole file

SEARCH

  • /word Search word from top to bottom
  • ?word Search word from bottom to top
  • ***** Search the word under cursor
  • /\cstring Search STRING or string, case insensitive
  • /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
  • bufdo %s/something/somethingelse/g Search something in all the open buffers and replace it with somethingelse

REPLACE

  • :%s/old/new/g Replace all occurences of old by new in file
  • :%s/onward/forward/gi Replace onward by forward, case unsensitive
  • :%s/old/new/gc 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/^M//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
  • gggUG Set all text to uppercase
  • :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
  • :Sex! Same as :Sex but split window vertically
  • :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/WINDOWS

  • :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
  • :new abc.txt Edit abc.txt in new window

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_ 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 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

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

ABBREVIATIONS

SYNTAX HIGHLIGHTING

  • :syntax on Turn on syntax highlighting
  • :syntax off Turn off syntax highlighting
  • :set syntax=perl Force syntax highlighting

About

🍒 This is my .vimrc file with focus on front-end development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published