📑
Chris Johnson's KB
  • Chris Johnson's KB
  • Meta
    • Pages to Add
  • Cheat Sheets
    • Apache
    • Docker
    • Gatsby
    • Git
    • GraphQL
    • iOS
    • MySQL
    • Nginx
    • NextJS
    • NodeJS
    • Rails
    • React
    • Security Tools
    • Shell (Linux)
    • SwiftUI
    • Ubuntu Server
    • Vim
  • Computing
    • Mac
    • iOS
    • ChromeOS
    • Windows
    • Browser Plugins
    • RSI Prevention
    • Voice Control
    • AWS Cloud 9
    • Visual Studio Code
    • Linux
  • Workflows
    • Podcasting
    • Setting up a new Mac
    • Site Deploys
  • Hardware
    • Dell U2720Q Monitor
    • Moonlander Keyboard
    • Apple Silicon Macs
  • Productivity
    • Structure
    • Nuggets of Wisdom
  • Coffee
    • Coffee Notes & Equipment
    • Coffee Beans
    • AeroPress Recipes
    • V60 Recipes
    • Moka Pot Recipes
    • French Press Recipes
  • Gaming
    • Rocket League
  • Food
    • Cocktails
    • Favorite Recipes
    • Whisky Reviews
    • Infinity Bottle
    • Favorite Wines
  • Inspiration
    • Quotes
  • Philosophy
    • Life
    • Programming
  • Fitness
    • Diets
    • Exercise Notes
    • Personal Training Notes
Powered by GitBook
On this page
  • Setup
  • Plugins
  • Additional files
  • Thanks to...
  • Plugins to try
  • Keyboard Command Reference
  • Helpful Shell Commands
  • General Vim commands

Was this helpful?

  1. Cheat Sheets

Vim

PreviousUbuntu ServerNextMac

Last updated 5 years ago

Was this helpful?

Setup

  1. Put these files in a clean .vim directory under your ~user directory

  2. Create symlinks to the configuration files using these commands:

     cd ~
     ln -s ~/.vim/vimrc .vimrc
     ln -s ~/.vim/gvimrc .gvimrc
  3. Install .

Plugins

  1. – fuzzy project searching

  2. – to show buffer list at the top of the screen

  3. – wrapping text with html tags or other characters

  4. – commenting and uncommenting lines

  5. – Sublime Text style multiple cursors

  6. – Faster easier multifile text search

  7. – Configurable status bar

  8. – Show git status lines in gutter

  9. – Show and remove whitespace at the end of lines

  10. – File browser

  11. – Coffeescript syntax highlighting

  12. – CSS3 & SASS syntax support

  13. – Syntax highlighting for Less, requires

  14. – Git wrapper, adds current branch to Airline status bar

Additional files

Thanks to...

Plugins to try

Keyboard Command Reference

  • Open in Safari = \o

  • Convert to markdown (add p tags) = \md

  • Convert HTML to markdown = \ht

  • Educate quotes = \6

  • Convert html to entities = \7

  • html encode = [x decode = ]x

  • Wrap line = put cursor on line, type yss then what you want to wrap (works with HTML tags)

  • Replace surrounding character = cs[old character][new character] (example, change double to single quotes: cs"')

  • Comment selection = \

  • Comment line = \\

  • Text search in project = :Grep regexp

  • Change search options: :GrepOptions

  • Search for current word in project = \vv

  • Vertical selection = [control-v]

  • Multiple cursors = [control-n] when on a word to start a cursor at the next matching word ([control-p] to go back, [control-x] to skip)

  • Live multiline cursors = Create vertical visual selection, then press [control-n]

  • Search current directory = [control-p], select ".." to go up a directory, [F5] to refresh

  • Remove trailing whitespace = :StripWhitespace

  • Toggle NERD Tree = [control-t]

  • Full buffer NERD Tree = :Explore

  • Create new file in NERD Tree = m, then press a

  • Git commands, open in background temporarily = :Git [command], use % to pass in current file

  • Git commands, open in buffer = :Gcommit, :Gstatus, :Gdiff, :Gblame

Helpful Shell Commands

  • Put Vim in the background = [control-z]

  • Return Vim to the foreground = fg

  • Open MacVim inside the terminal = mvim -v

General Vim commands

  • Escape insert mode = Esc or [control-]]

  • Undo = u

  • Redo = [control-r]

  • Page up & page down = [control-f] & [control-b]

  • Replace word = cw

  • Switch buffers = [control-tab] go backwards by adding shift

  • Close buffer = :bd

  • Next/Prev buffer = :bn :bp

  • List buffer = :ls

  • Start new file = :e newfile.txt

  • Wrap line = put cursor in line, type yss then what you want to wrap... could be HTML

  • Insert new line = o or O for line before

  • Delete line = dd

  • Delete until end of line = D

  • Join next line with current line = J

  • Go to line = line# gg

  • Go to end of line = $

  • Go to beginning of line = 0

  • turn off auto indent = set noautoindent

  • see buffer commands = :b[tab]

  • see all registers = :reg

  • system clipboard = "*

  • Vertical select = control+v then select your column, I to insert, d to delete, r to replace

  • Window commands = control+w s split window, control+w hjkl move windows control+w c close window, control+q to quit a window

  • Replace to end of line = c$

  • Indent line = :>>

  • Repeat last command = .

  • find = :/[text here]

  • Find next = n (previous = N)

  • Clear search highlight = :noh

  • Word complete = [control-n] or [control-p] in Insert mode

  • Change case = gu (lowercase), gU (uppercase)

  • Recording keystrokes = q[buffer key], stop recording with q, play recording with @[buffer key]

  • Help for command = :help COMMAND

  • List of commands = :command [optional command] (use for when you have command conflicts)

  • Run shell command from Vim = :![shell command]

  • Close quickfix window = :ccl

  • Enable word wrap = :set wrap (nowrap to disable)

The html transformation commands at the bottom of the vimrc file require scripts you can find in . Those scripts should be installed in your ~/Scripts/ directory on Mac.

Tim Pope for and many other great Vim treats

Jonathan Filip for the

Mislav Marohnić for his

– Replacement for EasyGrep

copy line into register = "[letter]yy ()

Find and replace = %s/searchterm/replacementtext/c (% = whole file, c = confirm change),

Text search in project = :vimgrep /regex/gj */ (then use :cw to see a list of results, )

Shell Scripts
ctrlp
minibufexpl
vim-surround
commentary
vim-multiple-cursors
EasyGrep
vim-airline
vim-gitgutter
vim-better-whitespace
nerdtree
vim-coffee-script
vim-css3-syntax
vim-less
vim-css3-syntax
vim-fugitive
my Scripts repository
Pathogen
Lucius color scheme
base Vim setup
YouCompleteMe
syntastic
ack.vim
More on how to use registers
more info
more info