Skip to content

Lean mean (Neo)Vim machine, carefully crafted with ❀️ Use with latest Neovim or Vim 8

Notifications You must be signed in to change notification settings

chrischen/vim-config

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rafael Bodill's Neovim Config

Lean mean Neovim machine, 30-45ms startup time.

Works best with Neovim 0.5.x ⚠️ For Vim 8.x, use the vim git tag.

I encourage you to fork this repo and create your own experience. Learn how to tweak and change Neovim to the way YOU like it. This is my cultivation of years of tweaking, use it as a git remote and stay in-touch with upstream for reference or cherry-picking.

Table of Contents (πŸ”Ž Click to expand/collapse)

Features

Screenshot

Vim screenshot

Prerequisites

  • Neovim (brew install neovim) β‰₯ v0.5.0
  • Plugins are parsed from YAML and cached. Ensure one of these tools is installed:
    • yj (brew install yj)
    • yq (brew install yq)
    • yaml2json
    • Ruby
    • Python with PyYAML (pip install PyYAML)

Install

1. Let's clone this repo! Clone to ~/.config/nvim

mkdir ~/.config
git clone git://github.com/rafi/vim-config.git ~/.config/nvim
cd ~/.config/nvim

2. Run make test to test your nvim version and capabilities.

3. Run make to install all plugins.

4. If you are experiencing problems, run and read nvim -c checkhealth

Enjoy! πŸ˜„

Language-Server Protocol (LSP)

To leverage LSP auto-completions and other functionalities, once you open a file in Neovim, run :LspInstall <language> to use kabouzeid/nvim-lspinstall installation feature. Use Tab to list available servers.

Here are some useful LSP server installations:

  • :LspInstall bash
  • :LspInstall diagnosticls
  • :LspInstall dockerfile
  • :LspInstall go
  • :LspInstall json
  • :LspInstall lua
  • :LspInstall python
  • :LspInstall typescript
  • :LspInstall vim
  • :LspInstall yaml
  • and more…

See lua/plugins/lspconfig.lua and lua/lsp/* for built-in mapping and configuration for several language-servers. You'll need utilities like npm and curl to install some extensions. For more information, see:

Upgrade

cd ~/.config/nvim
make update

This will run git pull --ff --ff-only and update all plugins using Shougo/dein.vim package-manager (:call dein#update()).

Recommended Fonts

On macOS with Homebrew, choose one of the Nerd Fonts, for example, here are some popular fonts:

brew tap homebrew/cask-fonts
brew search nerd-font
brew install --cask font-victor-mono-nerd-font
brew install --cask font-iosevka-nerd-font-mono
brew install --cask font-hack-nerd-font
brew install --cask font-fira-code

Recommended Linters

  • macOS with Homebrew:
brew install vint shellcheck jsonlint yamllint
brew install tflint ansible-lint tidy-html5 proselint write-good
  • Node.js based linters:
yarn global add markdownlint-cli eslint jshint stylelint sass-lint
  • Python based linters:
pip3 install --user pycodestyle pyflakes flake8

Recommended Tools

User Custom Config

For custom configuration, create the config/local.vim file and add your personal vimscript there.

For installing plugins, create a config/plugins.local.yaml file and manage your own plugin collection. If you want to disable some of the plugins I use, you can overwrite them, e.g.:

- { repo: shadmansaleh/lualine.nvim, if: 0 }

Using config/plugins.local.yaml you can install any plugin you want, e.g.:

# Choose only ONE of these statuslines ;)
- repo: itchyny/lightline.vim
- repo: vim-airline/vim-airline
- repo: glepnir/galaxyline.nvim
- repo: glepnir/spaceline.vim
- repo: liuchengxu/eleline.vim

You can set global specific features by defining in your local config/local.vim:

let g:elite_mode = 1                     " Set arrow-keys to window resize
let g:global_symbol_padding = '  '       " Padding after nerd symbols
let g:tabline_plugin_enable = 0          " Disable built-in tabline
let g:enable_universal_quit_mapping = 0  " Disable normal 'q' mapping
let g:disable_mappings = 0               " Disable config/mappings.vim

To override LSP configurations, create a lua/lsp-local/<server_name>.lua file. Must return a table with config function. For example, create lua/lsp-local/go.lua:

local config = {
  settings = {
    gopls = {
      staticcheck = true
    }
  }
}

return {
  config = function(_) return config end,
}

⚠️ This will completely overwrite built-in lua/lsp/go.lua.

Structure

Plugin Highlights

  • Plugin management with cache and lazy loading for speed
  • Auto-completion with Language-Server Protocol (LSP)
  • Project-aware tabline
  • Fern as file-manager + Git status icons
  • Extensive syntax highlighting with nvim-treesitter.

Note that 95% of the plugins are lazy-loaded.

Plugins Included

List (πŸ”Ž Click to expand/collapse)

Non Lazy-Loaded Plugins

Name Description
Shougo/dein.vim Dark powered Vim/Neovim plugin manager
thinca/vim-localrc Enable configuration file of each directory
rafi/awesome-colorschemes Awesome color-schemes
christoomey/tmux-navigator Seamless navigation between tmux panes and vim splits
tpope/vim-sleuth Heuristically set buffer indent options
folke/lsp-colors.nvim LSP diagnostics highlight groups for colorschemes
nvim-lua/plenary.nvim Lua functions library
nvim-lua/popup.nvim An implementation of the Popup API from vim in Neovim
kyazdani42/nvim-web-devicons Lua fork of vim-devicons
sgur/vim-editorconfig EditorConfig plugin written entirely in Vimscript

Lazy-Loaded Plugins

Commands

Name Description
tyru/caw.vim Robust comment plugin with operator support
mbbill/undotree Ultimate undo history visualizer
tweekmonster/helpful.vim Display vim version numbers in docs
lambdalisue/suda.vim An alternative sudo.vim for Vim and Neovim
TimUntersberger/neogit Magit clone for Neovim
lambdalisue/gina.vim Asynchronously control git repositories
folke/zen-mode.nvim Distraction-free coding for Neovim
folke/which-key.nvim Create key bindings that stick
tversteeg/registers.nvim Preview the contents of the registers
NTBBloodbath/rest.nvim A fast Neovim http client written in Lua
pechorin/any-jump.vim Jump to any definition and references without overhead
kana/vim-niceblock Make blockwise Visual mode more useful
t9md/vim-choosewin Choose window to use, like tmux's 'display-pane'
mzlogin/vim-markdown-toc Generate table of contents for Markdown files
Ron89/thesaurus_query.vim Multi-language thesaurus query and replacement

Interface

Name Description
itchyny/vim-gitbranch Lightweight git branch detection
romainl/vim-cool Simple plugin that makes hlsearch more useful
haya14busa/vim-asterisk Improved * motions
rhysd/accelerated-jk Up/down movement acceleration
haya14busa/vim-edgemotion Jump to the edge of block
t9md/vim-quickhl Highlight words quickly
rcarriga/nvim-notify Fancy notification manager for NeoVim
rafi/vim-sidemenu Small side-menu useful for terminal users
hoob3rt/lualine.nvim statusline plugin written in pure lua
itchyny/cursorword Underlines word under cursor
lewis6991/gitsigns.nvim Git signs written in pure lua
kshenoy/vim-signature Display and toggle marks
nathanaelkane/vim-indent-guides Visually display indent levels in code
kevinhwang91/nvim-bqf Better quickfix window in Neovim
norcalli/nvim-colorizer.lua The fastest Neovim colorizer
rmagatti/goto-preview Preview definitions using floating windows
rhysd/committia.vim Pleasant editing on Git commit messages
itchyny/calendar.vim Calendar application
deris/vim-shot-f Highlight characters to move directly with f/t/F/T
kristijanhusak/orgmode.nvim Orgmode clone written in Lua
vimwiki/vimwiki Personal Wiki for Vim

Completion & Code-Analysis

Name Description
kabouzeid/nvim-lspinstall Provides the missing :LspInstall for nvim-lspconfig
kosayoda/nvim-lightbulb VSCode πŸ’‘ for neovim's built-in LSP
neovim/nvim-lspconfig Quickstart configurations for the Nvim LSP client
ray-x/lsp_signature.nvim LSP signature hint when you type
folke/lua-dev.nvim Dev setup for Lua
folke/todo-comments.nvim Highlight, list and search todo comments in your projects
hrsh7th/nvim-cmp Completion plugin for neovim written in Lua
andersevenrud/compe-tmux Tmux completion source for nvim-compe/cmp
windwp/nvim-autopairs autopairs for neovim written by lua
hrsh7th/vim-vsnip Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format
hrsh7th/vim-vsnip-integ vim-vsnip integrations to other plugins
rafamadriz/friendly-snippets Preconfigured snippets for different languages
folke/trouble.nvim Pretty lists to help you solve all code diagnostics
sindrets/diffview.nvim Tabpage interface for easily cycling through diffs
nvim-telescope/telescope.nvim Find, Filter, Preview, Pick. All lua, all the time
rmagatti/session-lens Session-switcher extension for rmagatti/auto-session
jvgrootveld/telescope-zoxide Telescope extension for Zoxide
simrat39/symbols-outline.nvim Tree like view for symbols using LSP
rmagatti/auto-session Automated session manager for Neovim
sbdchd/neoformat Plugin for formatting code
mattn/emmet-vim Provides support for expanding abbreviations alΓ‘ emmet

Fern

Name Description
lambdalisue/fern.vim General purpose asynchronous tree viewer in pure vim
lambdalisue/nerdfont.vim Fundemental plugin to handle Nerd Fonts
lambdalisue/fern-git-status.vim Fern git status badge integration
lambdalisue/fern-mapping-git.vim Fern git related mappings
lambdalisue/fern-bookmark.vim Fern bookmark plugin
yuki-yano/fern-preview.vim File preview window to fern.vim
lambdalisue/fern-renderer-nerdfont.vim Fern nerdfont integration
lambdalisue/glyph-palette.vim Universal nerdfont palette

Syntax

Name Description
nvim-treesitter/nvim-treesitter Nvim Treesitter configurations and abstraction layer
nvim-treesitter/nvim-treesitter-textobjects Textobjects using treesitter queries
JoosepAlviste/nvim-ts-context-commentstring Set the commentstring based on the cursor location
chrisbra/csv.vim Handling column separated data
tpope/vim-git Git runtime files
dag/vim-fish Fish shell edit support
towolf/vim-helm Syntax for Helm templates (yaml + gotmpl + sprig)
mboughaba/i3config.vim i3 window manager config syntax
mustache/vim-mustache-handlebars Mustache and handlebars syntax
digitaltoad/vim-pug Pug (formerly Jade) syntax and indentation
keith/swift.vim Swift support
lifepillar/pgsql.vim PostgreSQL syntax and indent
chr4/nginx.vim Improved nginx syntax and indent
vim-jp/syntax-vim-ex Improved Vim syntax highlighting
MTDL9/vim-log-highlighting Syntax highlighting for generic log files
tmux-plugins/vim-tmux Plugin for tmux.conf
reasonml-editor/vim-reason-plus Reason syntax and indent
plasticboy/vim-markdown Markdown syntax highlighting
pearofducks/ansible-vim Improved YAML support for Ansible
hashivim/vim-terraform Base Terraform integration

Operators & Text Objects

Name Description
machakann/vim-sandwich Search, select, and edit sandwich text objects
mfussenegger/nvim-ts-hint-textobject Region selection with hints on the AST nodes
AndrewRadev/sideways.vim Match function arguments
AndrewRadev/linediff.vim Perform diffs on blocks of code
AndrewRadev/splitjoin.vim Transition code between multi-line and single-line
AndrewRadev/dsf.vim Delete surrounding function call

Custom Key-mappings

Note that,

  • Leader key set as Space
  • Local-Leader key set as ; and used for navigation and search (Telescope and Fern)
  • Disable ← ↑ β†’ ↓ in normal mode by enabling g:elite_mode in .vault.vim
Key-mappings (πŸ”Ž Click to expand/collapse) Modes: 𝐍=normal 𝐕=visual 𝐒=select 𝐈=insert 𝐂=command

Navigation

Key Mode Action Plugin or Mapping
j / k 𝐍 𝐕 Cursor moves through display-lines g j/k
g+j / k 𝐍 𝐕 𝐒 Jump to edge upward/downward haya14busa/vim-edgemotion
gh / gl 𝐍 𝐕 Easier line-wise movement g ^/$
Space+Space 𝐍 𝐕 Toggle visual-line mode V / Escape
zl / zh 𝐍 Scroll horizontally and vertically wider z4 l/h
Ctrl+j 𝐍 Move to split below christoomey/tmux-navigator
Ctrl+k 𝐍 Move to upper split christoomey/tmux-navigator
Ctrl+h 𝐍 Move to left split christoomey/tmux-navigator
Ctrl+l 𝐍 Move to right split christoomey/tmux-navigator
Return 𝐍 Toggle fold za
Shift+Return 𝐍 Focus the current fold by closing all others zMzvzt
]q or ]q 𝐍 Next/previous on quickfix list :cnext / :cprev
]a or ]a 𝐍 Next/previous on location-list :lnext / :lprev
]w or ]w 𝐍 Next/previous whitespace error plugin/whitespace.vim
]g or ]g 𝐍 Next/previous Git hunk lewis6991/gitsigns.nvim
]d or ]d 𝐍 Next/previous LSP diagnostic lua/plugins/lspconfig.lua
Ctrl+f 𝐂 Move cursor forwards in command Right
Ctrl+b 𝐂 Move cursor backwards in command Left
Ctrl+h 𝐂 Move cursor to the beginning in command Home
Ctrl+l 𝐂 Move cursor to the end in command End

File Operations

Key Mode Action Plugin or Mapping
Space+cd 𝐍 Switch to the directory of opened buffer :lcd %:p:h
gf 𝐍 Open file under the cursor in a vsplit :rightbelow wincmd f
Space+w 𝐍 Write buffer to file :write
Ctrl+s 𝐍 𝐕 𝐂 Write buffer to file :write

Edit

Key Mode Action Plugin or Mapping
Ctrl+y 𝐈 Expand emmet abbreviation mattn/emmet-vim
Q 𝐍 Start/stop macro recording q
gQ 𝐍 Play macro 'q' @q
Shift+Return 𝐈 Start new line from any cursor position <C-o>o
< 𝐕 Indent to left and re-select <gv
> 𝐕 Indent to right and re-select `>gv
Tab 𝐕 Indent to right and re-select `>gv
Shift+Tab 𝐕 Indent to left and re-select <gv
gc 𝐍 𝐕 Caw (comments plugin) prefix tyru/caw.vim
gcc 𝐍 𝐕 Toggle comments tyru/caw.vim
Space+v 𝐍 𝐕 Toggle single-line comments tyru/caw.vim
Space+V 𝐍 𝐕 Toggle comment block tyru/caw.vim
Space+j or k 𝐍 𝐕 Move lines down/up :m …
Space+d 𝐍 𝐕 Duplicate line or selection
Space+cn / cN 𝐍 𝐕 Change current word in a repeatable manner
Space+cp 𝐍 Duplicate paragraph yap<S-}>p
Space+cw 𝐍 Remove all spaces at EOL :%s/\s\+$//e
sj / sk 𝐍 Join/split arguments AndrewRadev/splitjoin.vim
dsf / csf 𝐍 Delete/change surrounding function call AndrewRadev/dsf.vim

Search & Replace

Key Mode Action Plugin or Mapping
* / # 𝐍 𝐕 Search selection forward/backward haya14busa/vim-asterisk
g* / g# 𝐍 𝐕 Search whole-word forward/backward haya14busa/vim-asterisk
Backspace 𝐍 Match bracket %
gpp 𝐍 Select last paste
sg 𝐕 Replace within selected area :s/⌴/gc
Ctrl+r 𝐕 Replace selection with step-by-step confirmation :%s/\V/⌴/gc

Clipboard

Key Mode Action Plugin or Mapping
p or P 𝐕 Paste without yank s:visual_paste
Y 𝐍 Yank to the end of line y$
Space+y 𝐍 Copy relative file-path to clipboard
Space+Y 𝐍 Copy absolute file-path to clipboard

Command & History

Key Mode Action Plugin or Mapping
! 𝐍 Shortcut for shell command :!
g! 𝐍 Read vim command into buffer :put=execute('⌴')
Ctrl+n / p 𝐂 Switch history search pairs ↓ / ↑
↓ / ↑ 𝐂 Switch history search pairs Ctrl n/p

Editor UI

Key Mode Action Plugin or Mapping
Space+ts 𝐍 Toggle spell-checker :setlocal spell!
Space+tn 𝐍 Toggle line numbers :setlocal nonumber!
Space+tl 𝐍 Toggle hidden characters :setlocal nolist!
Space+th 𝐍 Toggle highlighted search :set hlsearch!
Space+tw 𝐍 Toggle wrap :setlocal wrap! …
Space+ti 𝐍 Toggle indentation lines nathanaelkane/vim-indent-guides
Space+tt 𝐍 Show highlight groups for word
g1 𝐍 Go to first tab :tabfirst
g9 𝐍 Go to last tab :tablast
g5 𝐍 Go to previous tab :tabprevious
Ctrl+Tab 𝐍 Go to next tab :tabnext
Ctrl+ShiftTab 𝐍 Go to previous tab :tabprevious
Alt+j 𝐍 Go to next tab :tabnext
Alt+k 𝐍 Go to previous tab :tabprevious
Alt+{ 𝐍 Move tab backward :-tabmove
Alt+} 𝐍 Move tab forward :+tabmove

Custom Tools & Plugins

Key Mode Action Plugin or Mapping
;+c 𝐍 Open context-menu plugin/actionmenu.vim
gCtrl+o 𝐍 Navigate to previous file on jumplist s:jump_buffer
gCtrl+i 𝐍 Navigate to next file on jumplist s:jump_buffer
- 𝐍 Choose a window to edit t9md/vim-choosewin
Space+- 𝐍 Switch editing window with selected t9md/vim-choosewin
Space+l 𝐍 Open side-menu helper rafi/vim-sidemenu
Space+o 𝐍 Open structure window simrat39/symbols-outline.nvim
Space+S 𝐍 𝐕 Source selection y:execute @@
Space+? 𝐍 Open the macOS dictionary on current word :!open dict://
Space+P 𝐍 Use Marked 2 for real-time Markdown preview Marked 2
Space+ml 𝐍 Append modeline to end of buffer config/mappings.vim
Space+mda 𝐕 Sequentially mark region for diff AndrewRadev/linediff.vim
Space+mdf 𝐕 Mark region for diff and compare if more than one AndrewRadev/linediff.vim
Space+mds 𝐍 Shows the comparison for all marked regions AndrewRadev/linediff.vim
Space+mdr 𝐍 Removes the signs denoting the diff regions AndrewRadev/linediff.vim
Space+mt 𝐍 𝐕 Toggle highlighted word t9md/vim-quickhl
Space+z 𝐍 Toggle distraction-free writing folke/zen-mode.nvim
Space+gu 𝐍 Open undo-tree mbbill/undotree
Space+K 𝐍 Thesaurus Ron89/thesaurus_query.vim
Space+W 𝐍 VimWiki vimwiki/vimwiki

Window Management

Key Mode Action Plugin or Mapping
q 𝐍 Quit window (and Vim, if last window) :quit
Ctrl+x 𝐍 Rotate window placement C-w x
sv 𝐍 Horizontal split :split
sg 𝐍 Vertical split :vsplit
st 𝐍 Open new tab :tabnew
so 𝐍 Close other windows :only
sb 𝐍 Previous buffer :b#
sc 𝐍 Close current buffer :close
sd 𝐍 Delete buffer :bdelete
sq 𝐍 Quit window :quit
sx 𝐍 Delete buffer, leave blank window :enew β”‚ bdelete
sz 𝐍 Toggle window zoom :vertical resize β”‚ resize
ssv 𝐍 Split with previous buffer :split β”‚ wincmd p β”‚ e#
ssg 𝐍 Vertical split with previous buffer :vsplit β”‚ wincmd p β”‚ e#
sh 𝐍 Toggle colorscheme background=dark/light :set background …

Plugin: Gitsigns

Key Mode Action
]g or ]g 𝐍 Next/previous Git hunk
gs 𝐍 Preview hunk
Space+hp 𝐍 Preview hunk
Space+hb 𝐍 Blame line
Space+hs 𝐍 𝐕 Stage hunk
Space+hu 𝐍 Undo stage hunk
Space+hr 𝐍 𝐕 Reset hunk
Space+hR 𝐍 Reset buffer
Space+hl 𝐍 Publish hunks to location-list

Plugin: Gina

Key Mode Action
Space+ga 𝐍 Git add current file
Space+gd 𝐍 Git diff
Space+gc 𝐍 Git commit
Space+gb 𝐍 Git blame
Space+gs 𝐍 Git status -s
Space+gl 𝐍 Git log --graph --all
Space+gF 𝐍 Git fetch
Space+gp 𝐍 Git push
Space+go 𝐍 𝐕 Open SCM detailed URL in browser

Plugin: Telescope

Key Mode Action
;r 𝐍 Results of the previous picker
;R 𝐍 List of the previous pickers
;f 𝐍 File search
;g 𝐍 Grep search
;b 𝐍 Buffers
;x 𝐍 Old files
;v 𝐍 𝐕 Yank history
;m 𝐍 Marks
;n 𝐍 Dein plugin list
;j 𝐍 Jump points
;u 𝐍 Spelling suggestions
;o 𝐍 Vim options
;s 𝐍 Sessions
;t 𝐍 LSP workspace symbols
;h 𝐍 Highlights
;w 𝐍 Memo list
;z 𝐍 Zoxide directories
;; 𝐍 Command history
;/ 𝐍 Search history
Space+gt 𝐍 Find symbols matching word under cursor
Space+gf 𝐍 Find files matching word under cursor
Space+gg 𝐍 𝐕 Grep word under cursor
Within Telescope window
? 𝐍 Keymaps help screen
jj or Escape 𝐈 Leave Insert mode
i 𝐍 Enter Insert mode (filter input)
q or Escape 𝐍 Exit denite window
Tab or Shift+Tab 𝐍 𝐈 Next/previous candidate
Ctrl d/u 𝐍 𝐈 Scroll down/upwards
Ctrl f/b 𝐍 𝐈 Scroll preview down/upwards
J or K 𝐍 Select candidates up/downwards
st 𝐍 Open in a new tab
sg 𝐍 Open in a vertical split
sv 𝐍 Open in a split
w 𝐍 Smart send to quickfix list
e 𝐍 Send to quickfix list
dd 𝐍 Delete entry (buffer list)

Plugin: Fern

Key Mode Action
;e 𝐍 Open file-explorer (toggle)
;a 𝐍 Focus current file in file-explorer
Within Fern window
j or k 𝐍 Move up and down the tree
J or K or Space 𝐍 Select entries up/downwards
l or Return 𝐍 Toggle collapse/expand directory or open file
h 𝐍 Collapse directory tree
Ctrl+Return 𝐍 Choose window to edit entry
a 𝐍 Select entry action
p 𝐍 Preview entry
Ctrl+p 𝐍 Toggle auto-preview
Ctrl+f or b 𝐍 Preview scroll up/down
gr 𝐍 Grep in current position
gf 𝐍 Find files in current position
! 𝐍 Toggle hidden files
^ 𝐍 Change into project root directory
Backspace 𝐍 Change into parent directory
o 𝐍 Open bookmarks
B 𝐍 Save location as bookmark
st 𝐍 Open file in new tab
sv 𝐍 Open file in a horizontal split
sg 𝐍 Open file in a vertical split
N 𝐍 Create new directories and/or files
Ctrl+n 𝐍 Create new directory
c / m 𝐍 Copy/move
C / M / P 𝐍 Clipboard copy/move/paste
R 𝐍 Rename file or directory
D 𝐍 Trash selected files and directories
fi / fe 𝐍 Include/exclude
yy 𝐍 Yank path to clipboard
w 𝐍 Toggle window size
x 𝐍 Execute associated system application

Plugin: LSP

Key Mode Action
Tab / Shift-Tab 𝐈 Navigate completion-menu
Enter 𝐈 Select completion or expand snippet
Ctrl+j/k/d/u 𝐈 Movement in completion pop-up
Ctrl+Return 𝐈 Expand Emmet sequence
Ctrl+Space 𝐈 Refresh and show candidates
Ctrl+y 𝐈 Close pop-up
Ctrl+e 𝐈 Cancel selection and close pop-up
Ctrl+l 𝐈 Expand snippet at cursor
Tab / Shift-Tab 𝐈 𝐒 Navigate snippet placeholders

Plugin: Any-Jump

Key Mode Action
Space+ii 𝐍 Jump to definition under cursor
Space+ii 𝐕 Jump to selected text in visual mode
Space+ib 𝐍 Open previous opened file (after jump)
Space+il 𝐍 Open last closed search window again

Plugin: Signature

Key Mode Action
m/ or m? 𝐍 Show list of buffer marks/markers
mm 𝐍 Toggle mark on current line
m, 𝐍 Place next mark
m a-z 𝐍 Place specific mark (Won't work for: mm, mn, mp)
dm a-z 𝐍 Remove specific mark (Won't work for: mm, mn, mp)
mn 𝐍 Jump to next mark
mp 𝐍 Jump to previous mark
]= 𝐍 Jump to next marker
[= 𝐍 Jump to previous marker
m- 𝐍 Purge all on current line
m Space 𝐍 Purge marks
m Backspace 𝐍 Purge markers

About

Lean mean (Neo)Vim machine, carefully crafted with ❀️ Use with latest Neovim or Vim 8

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Vim Script 64.4%
  • Lua 31.0%
  • Shell 4.2%
  • Makefile 0.4%