Skip to content

Repository files navigation

Rafael Bodill's Neo/vim Config

Lean mean Neo/vim machine, 30-45ms startup time.

Best with Neovim 0.5.x or Vim 8.x and python3 enabled.

I encourage you to fork this repo and create your own experience. Learn how to tweak and change Neo/vim 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

  • Fast startup time
  • Robust, yet light-weight
  • Lazy-load 95% of plugins with Shougo/dein.vim
  • Custom side-menu (try it out! Space+l)
  • Custom context-menu (try it! ;+c)
  • Modular configuration (see structure)
  • Auto-complete prabirshrestha/asyncomplete.vim extensive setup
  • Shougo/denite.nvim centric work-flow (lists)
  • Structure view with liuchengxu/vista.vim
  • Open SCM detailed URL in OS browser
  • Light-weight but informative status/tabline
  • Easy customizable theme
  • Premium color-schemes
  • Central location for tags and sessions

Screenshot

Vim screenshot

Prerequisites

  • Python 3 (brew install python)
  • Neovim or Vim (brew install neovim and/or brew install vim)

Caveat: You must have one of these tools installed: yj, yq, yaml2json, Ruby, or Python with PyYAML in-order for the YAML configuration to be parsed.

Install

1. Let's clone this repo! Clone to ~/.config/nvim, we'll also symlink it for regular Vim:

mkdir ~/.config
git clone git://github.com/rafi/vim-config.git ~/.config/nvim
cd~/.config/nvim
ln -s ~/.config/nvim ~/.vim # For "regular" Vim
  • Note: If you set a custom $XDG_CONFIG_HOME, use that instead of ~/.config in the commands above. Neovim follows the XDG base-directories convention, Vim doesn't.

2. Install the Python 3 pynvim library. This is also needed for Vim 8 if you want to use Denite and Defx.

Neovim: ./venv.sh or pip3 install --user pynvim

Vim: pip3 install --user pynvim

3. Run make test to test your nvim/vim version and capabilities.

4. Run make to install all plugins.

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

Test Python 3 availability with :py3 print(sys.version_info)

Enjoy! 😄

Language-Server Protocol (LSP)

To leverage LSP auto-completions and other functionalities, once you open a file in Neo/vim, run :LspInstallServer <name> to use mattn/vim-lsp-settings installation feature, use Tab to list available servers.

Here are a few useful commands:

  • For example, open a .go file, and run: :LspInstallServer gopls
  • In a go file, use action :LspCodeAction source.organizeImports
  • See config/plugins/lsp.vim for special code intellisense mappings

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, to install the Hack font:

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

Recommended Linters

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

Recommended Tools

User Custom Config

If you want to add your own configuration, create the config/local.vim file and add your personal vimscript there. If you'd like to install plugins by yourself, create a config/local.plugins.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: mattn/vim-lsp-settings, if: 0 }

Disable built-in statusline & tabline

You can use your local config/local.vim to disable status and tab lines:

letg:tabline_plugin_enable=0letg:statusline_plugin_enable=0

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

# Use only one!
- repo: itchyny/lightline.vim
- repo: vim-airline/vim-airline
- repo: glepnir/galaxyline.nvim
- repo: glepnir/spaceline.vim
- repo: liuchengxu/eleline.vim

Structure

Plugin Highlights

  • Plugin management with cache and lazy loading for speed
  • Auto-completion with Language-Server Protocol (LSP)
  • Project-aware tabs and labels
  • Defx as file-manager + Git status icons
  • Extensive language extensions library

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

Plugins Included

List(🔎 Click to expand/collapse)

Non Lazy-Loaded Plugins

NameDescription
Shougo/dein.vimDark powered Vim/Neovim plugin manager
rafi/awesome-colorschemesAwesome color-schemes
thinca/vim-localrcEnable configuration file of each directory
romainl/vim-coolSimple plugin that makes hlsearch more useful
sgur/vim-editorconfigEditorConfig plugin written entirely in Vimscript
christoomey/tmux-navigatorSeamless navigation between tmux panes and vim splits
tpope/vim-sleuthHeuristically set buffer indent options
antoinemadec/FixCursorHold.nvimNeovim CursorHold workaround
roxma/nvim-yarpVim8 remote plugin framework for Neovim
roxma/vim-hug-neovim-rpcVim8 compatibility layer for neovim rpc client

Lazy-Loaded Plugins

Language

NameDescription
hail2u/vim-css3-syntaxCSS3 syntax support to vim's built-in syntax/css.vim
othree/csscomplete.vimUpdated built-in CSS complete with latest standards
cakebaker/scss-syntax.vimSyntax file for scss (Sassy CSS)
groenewege/vim-lessSyntax for LESS
iloginow/vim-stylusSyntax, indentation and autocomplete for Stylus
mustache/vim-mustache-handlebarsMustache and handlebars syntax
digitaltoad/vim-pugPug (formerly Jade) syntax and indentation
othree/html5.vimHTML5 omnicomplete and syntax
plasticboy/vim-markdownMarkdown syntax highlighting
pangloss/vim-javascriptEnhanced Javascript syntax
HerringtonDarkholme/yats.vimAdvanced TypeScript Syntax Highlighting
MaxMEllon/vim-jsx-prettyReact JSX syntax pretty highlighting
leafOfTree/vim-svelte-pluginSyntax and indent plugin for Svelte
heavenshell/vim-jsdocGenerate JSDoc to your JavaScript code
jparise/vim-graphqlGraphQL file detection, syntax highlighting, and indentation
moll/vim-nodeSuperb development with Node.js
kchmck/vim-coffee-scriptCoffeeScript support
elzr/vim-jsonBetter JSON support
posva/vim-vueSyntax Highlight for Vue.js components
vim-python/python-syntaxEnhanced version of the original Python syntax
Vimjas/vim-python-pep8-indentA nicer Python indentation style
vim-scripts/python_match.vimExtend the % motion for Python files
raimon49/requirements.txt.vimPython requirements file format
StanAngeloff/php.vimUp-to-date PHP syntax file (5.3 – 7.1 support)
tbastos/vim-luaLua 5.3 syntax and indentation improved support
vim-ruby/vim-rubyRuby support
keith/swift.vimSwift support
rust-lang/rust.vimRust support
vim-jp/syntax-vim-exImproved Vim syntax highlighting
chrisbra/csv.vimHandling column separated data
tpope/vim-gitGit runtime files
ekalinin/Dockerfile.vimSyntax and snippets for Dockerfile
tmux-plugins/vim-tmuxPlugin for tmux.conf
MTDL9/vim-log-highlightingSyntax highlighting for generic log files
cespare/vim-tomlSyntax for TOML
mboughaba/i3config.vimi3 window manager config syntax
dag/vim-fishFish shell edit support
jstrater/mpvimMacports portfile configuration files
robbles/logstash.vimHighlights logstash configuration files
lifepillar/pgsql.vimPostgreSQL syntax and indent
chr4/nginx.vimImproved nginx syntax and indent
towolf/vim-helmSyntax for Helm templates (yaml + gotmpl + sprig)
udalov/kotlin-vimKotlin syntax and indent
reasonml-editor/vim-reason-plusReason syntax and indent
pearofducks/ansible-vimImproved YAML support for Ansible
hashivim/vim-terraformBase Terraform integration

Commands

NameDescription
Shougo/defx.nvimDark powered file explorer implementation
kristijanhusak/defx-gitGit status implementation for Defx
kristijanhusak/defx-iconsFiletype icons for Defx
tyru/caw.vimRobust comment plugin with operator support
Shougo/context_filetype.vimContext filetype detection for nested code
lambdalisue/fin.vimFilter the buffer content in-place
mbbill/undotreeUltimate undo history visualizer
jreybert/vimagitEase your git work-flow within Vim
tweekmonster/helpful.vimDisplay vim version numbers in docs
lambdalisue/gina.vimAsynchronously control git repositories
mhinz/vim-grepperHelps you win at grep
kana/vim-altrSwitch to the alternate file without interaction
Shougo/vinarise.vimHex editor
guns/xterm-color-table.vimDisplay 256 xterm colors with their RGB equivalents
cocopon/colorswatch.vimGenerate a beautiful color swatch for the current buffer
dstein64/vim-startuptimeVisually profile Vim's startup time
lambdalisue/suda.vimAn alternative sudo.vim for Vim and Neovim
liuchengxu/vim-which-keyShows key-bindings in pop-up
brooth/far.vimFast find and replace plugin
pechorin/any-jump.vimJump to any definition and references without overhead
jaawerth/nrun.vim"which" and "exec" functions targeted at local node project bin
Vigemus/iron.nvimInteractive REPL over Neovim
kana/vim-niceblockMake blockwise Visual mode more useful
t9md/vim-choosewinChoose window to use, like tmux's 'display-pane'
wfxr/minimap.vimBlazing fast minimap for vim, powered by code-minimap
mzlogin/vim-markdown-tocGenerate table of contents for Markdown files
reedes/vim-wordyUncover usage problems in your writing
liuchengxu/vista.vimViewer & Finder for LSP symbols and tags in Vim
junegunn/fzfPowerful command-line fuzzy finder
junegunn/fzf.vimFzf integration
Ron89/thesaurus_query.vimMulti-language thesaurus query and replacement

Interface

NameDescription
itchyny/vim-gitbranchLightweight git branch detection
itchyny/vim-parenmatchEfficient alternative to the standard matchparen plugin
haya14busa/vim-asteriskImproved * motions
rhysd/accelerated-jkUp/down movement acceleration
haya14busa/vim-edgemotionJump to the edge of block
t9md/vim-quickhlHighlight words quickly
rafi/vim-sidemenuSmall side-menu useful for terminal users
machakann/vim-highlightedyankMake the yanked region apparent
itchyny/cursorwordUnderlines word under cursor
airblade/vim-gitgutterShow git changes at Vim gutter and un/stages hunks
kshenoy/vim-signatureDisplay and toggle marks
nathanaelkane/vim-indent-guidesVisually display indent levels in code
rhysd/committia.vimPleasant editing on Git commit messages
junegunn/goyoDistraction-free writing
junegunn/limelightHyperfocus-writing
itchyny/calendar.vimCalendar application
deris/vim-shot-fHighlight characters to move directly with f/t/F/T
vimwiki/vimwikiPersonal Wiki for Vim
norcalli/nvim-colorizer.luaThe fastest Neovim colorizer

Completion & Code-Analysis

NameDescription
prabirshrestha/async.vimNormalize async job control API for Vim and Neovim
prabirshrestha/asyncomplete.vimAsync-completion in pure Vimscript for Vim8 and Neovim
prabirshrestha/asyncomplete-lsp.vimProvide Language Server Protocol autocompletion source
prabirshrestha/vim-lspAsync Language Server Protocol plugin for Vim and Neovim
mattn/vim-lsp-settingsAuto LSP configurations for vim-lsp
Shougo/neco-vimCompletion source for Vimscript
prabirshrestha/asyncomplete-necovim.vimProvides syntax autocomplete via neco-vim
prabirshrestha/asyncomplete-buffer.vimProvides buffer autocomplete
prabirshrestha/asyncomplete-tags.vimProvides tag autocomplete via vim tagfiles
prabirshrestha/asyncomplete-file.vimProvides file autocomplete
wellle/tmux-complete.vimCompletion of words in adjacent tmux panes
prabirshrestha/asyncomplete-ultisnips.vimProvides UltiSnips autocomplete
SirVer/ultisnipsUltimate snippet solution
honza/vim-snippetsCommunity-maintained snippets for programming languages
mattn/emmet-vimProvides support for expanding abbreviations alá emmet
ludovicchabant/vim-gutentagsManages your tag files
Raimondi/delimitMateAuto-completion for quotes, parens, brackets

Denite & Clap

NameDescription
Shougo/denite.nvimDark powered asynchronous unite all interfaces
Shougo/neomru.vimDenite plugin for MRU
Shougo/neoyank.vimDenite plugin for yank history
Shougo/junkfile.vimDenite plugin for temporary files
chemzqm/unite-locationDenite location & quickfix lists
rafi/vim-denite-sessionBrowse and open sessions
rafi/vim-denite-zFilter and browse Z (jump around) data file
liuchengxu/vim-clapModern performant generic finder and dispatcher

Operators & Text Objects

NameDescription
kana/vim-operator-userDefine your own custom operators
kana/vim-operator-replaceOperator to replace text with register content
machakann/vim-sandwichSearch, select, and edit sandwich text objects
kana/vim-textobj-userCreate your own text objects
terryma/vim-expand-regionVisually select increasingly larger regions of text
AndrewRadev/sideways.vimMatch function arguments
AndrewRadev/splitjoin.vimTransition code between multi-line and single-line
AndrewRadev/linediff.vimPerform diffs on blocks of code
AndrewRadev/dsf.vimDelete surrounding function call
kana/vim-textobj-functionText objects for functions

Custom Key-mappings

Note that,

  • Leader key set as Space
  • Local-Leader key set as ; and used for navigation and search (Denite and Defx)
  • 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

KeyModeActionPlugin or Mapping
j / k𝐍 𝐕Cursor moves through display-linesgj/k
g+j / k𝐍 𝐕 𝐒Jump to edge upward/downwardhaya14busa/vim-edgemotion
gh / gl𝐍 𝐕Easier line-wise movementg^/$
Space+Space𝐍 𝐕Toggle visual-line modeV / Escape
v / V𝐕Expand/reduce selectionterryma/vim-expand-region
zl / zh𝐍Scroll horizontally and vertically widerz4l/h
Ctrl+j𝐍Move to split belowchristoomey/tmux-navigator
Ctrl+k𝐍Move to upper splitchristoomey/tmux-navigator
Ctrl+h𝐍Move to left splitchristoomey/tmux-navigator
Ctrl+l𝐍Move to right splitchristoomey/tmux-navigator
Return𝐍Toggle foldza
Shift+Return𝐍Focus the current fold by closing all otherszMzvzt
]q or ]q𝐍Next/previous on quickfix list:cnext / :cprev
]l or ]l𝐍Next/previous on location-list:lnext / :lprev
]w or ]w𝐍Next/previous whitespace errorplugin/whitespace.vim
]g or ]g𝐍Next/previous Git hunkairblade/vim-gitgutter
]d or ]d𝐍Next/previous LSP diagnosticmattn/vim-lsp-settings
Ctrl+f𝐂Move cursor forwards in commandRight
Ctrl+b𝐂Move cursor backwards in commandLeft
Ctrl+h𝐂Move cursor to the beginning in commandHome
Ctrl+l𝐂Move cursor to the end in commandEnd

File Operations

KeyModeActionPlugin 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

KeyModeActionPlugin or Mapping
Ctrl+Return𝐈Expand emmet abbreviationmattn/emmet-vim
Q𝐍Start/stop macro recordingq
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) prefixtyru/caw.vim
gcc𝐍 𝐕 𝐒Toggle commentstyru/caw.vim
Space+v𝐍 𝐕 𝐒Toggle single-line commentstyru/caw.vim
Space+V𝐍 𝐕 𝐒Toggle comment blocktyru/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 paragraphyap<S-}>p
Space+cw𝐍Remove all spaces at EOL:%s/\s\+$//e
Ctrl+gg𝐈Jump outside of pairRaimondi/delimitMate
sj / sk𝐍Join/split argumentsAndrewRadev/splitjoin.vim
dsf / csf𝐍Delete/change surrounding function callAndrewRadev/dsf.vim

Search & Replace

KeyModeActionPlugin or Mapping
Space+f𝐍Filter lines in-placelambdalisue/fin.vim
* / #𝐍 𝐕Search selection forward/backwardhaya14busa/vim-asterisk
g* / g#𝐍 𝐕Search whole-word forward/backwardhaya14busa/vim-asterisk
Backspace𝐍Match bracket%
gp𝐍Select last paste
sg𝐕Replace within selected area:s/⌴/gc
Ctrl+r𝐕Replace selection with step-by-step confirmation:%s/\V/⌴/gc

Clipboard

KeyModeActionPlugin or Mapping
p𝐕 𝐒Paste without yankkana/vim-operator-replace
Y𝐍Yank to the end of liney$
Space+y𝐍Copy relative file-path to clipboard
Space+Y𝐍Copy absolute file-path to clipboard

Command & History

KeyModeActionPlugin or Mapping
!𝐍Shortcut for shell command:!
g!𝐍Read vim command into buffer:put=execute('⌴')
Ctrl+n / p𝐂Switch history search pairs /
/ 𝐂Switch history search pairsCtrln/p

Editor UI

KeyModeActionPlugin 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 linesnathanaelkane/vim-indent-guides
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
Space+h𝐍Show highlight groups for word

Custom Tools & Plugins

KeyModeActionPlugin or Mapping
-𝐍Choose a window to editt9md/vim-choosewin
;+c𝐍Open context-menuplugin/actionmenu.vim
gK𝐍Open Zeal or Dash on some file-typesplugin/devhelp.vim
gCtrl+o𝐍Navigate to previous file on jumplistplugin/jumpfile.vim
gCtrl+i𝐍Navigate to next file on jumplistplugin/jumpfile.vim
Space+l𝐍Open side-menu helperrafi/vim-sidemenu
Space+b𝐍Open structure windowliuchengxu/vista.vim
Space+a𝐍Show nearby tag in structure windowliuchengxu/vista.vim
Space+se𝐍Save current workspace sessionplugin/sessions.vim
Space+sl𝐍Load workspace sessionplugin/sessions.vim
Space+n/N𝐍Open alternative filekana/vim-altr
Space+tc𝐍Enable scroll-context window[wellle/context.vim]
Space+tp𝐍Peek scroll-context window[wellle/context.vim]
Space+S𝐍 𝐕Source selectiony:execute @@
Space+?𝐍Open the macOS dictionary on current word:!open dict://
Space+P𝐍Use Marked 2 for real-time Markdown previewMarked 2
Space+ml𝐍Append modeline to end of bufferconfig/mappings.vim
Space+mda𝐕Sequentially mark region for diffAndrewRadev/linediff.vim
Space+mdf𝐕Mark region for diff and compare if more than oneAndrewRadev/linediff.vim
Space+mds𝐍Shows the comparison for all marked regionsAndrewRadev/linediff.vim
Space+mdr𝐍Removes the signs denoting the diff regionsAndrewRadev/linediff.vim
Space+mg𝐍Open Magitjreybert/vimagit
Space+mt𝐍 𝐕Toggle highlighted wordt9md/vim-quickhl
Space+-𝐍Switch editing window with selectedt9md/vim-choosewin
Space+G𝐍Toggle distraction-free writingjunegunn/goyo
Space+gu𝐍Open undo-treembbill/undotree
Space+K𝐍ThesaurusRon89/thesaurus_query.vim
Space+W𝐍VimWikivimwiki/vimwiki

Window Management

KeyModeActionPlugin or Mapping
q𝐍Quit window (and Vim, if last window):quit
Ctrl+q𝐍Remap to C-wCtrl+w
Ctrl+x𝐍Rotate window placementC-wx
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
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
s-𝐍Lower solarized8 colorscheme contrast:colorscheme
s=𝐍Raise solarized8 colorscheme contrast:colorscheme

Git Version Control

KeyModeActionPlugin or Mapping
gs𝐍Preview hunkairblade/vim-gitgutter
gS𝐍 𝐕 𝐒Stage hunkairblade/vim-gitgutter
Space+gr𝐍Revert hunkairblade/vim-gitgutter
Space+ga𝐍Git add current filelambdalisue/gina.vim
Space+gd𝐍Git difflambdalisue/gina.vim
Space+gc𝐍Git brancheslambdalisue/gina.vim
Space+gc𝐍Git commitlambdalisue/gina.vim
Space+gb𝐍Git blamelambdalisue/gina.vim
Space+gs𝐍Git status -slambdalisue/gina.vim
Space+gl𝐍Git log --alllambdalisue/gina.vim
Space+gF𝐍Git fetchlambdalisue/gina.vim
Space+gp𝐍Git pushlambdalisue/gina.vim
Space+go𝐍 𝐕Open SCM detailed URL in browserlambdalisue/gina.vim

Plugin: Denite

KeyModeAction
;r𝐍Resumes last Denite window
;f𝐍File search
;g𝐍Grep search
;b𝐍Buffers
;i𝐍Old files
;x𝐍Most recently used files (MRU)
;d𝐍Directories and MRU
;v𝐍 𝐕Yank history
;l𝐍Location list
;q𝐍Quick fix
;m𝐍Marks
;n𝐍Dein plugin list
;j𝐍Jump points and change stack
;u𝐍Junk files
;o𝐍Outline tags
;s𝐍Sessions
;t𝐍Tag list
;p𝐍Jumps
;h𝐍Help
;w𝐍Memo list
;z𝐍Z (jump around)
;;𝐍Command history
;/𝐍Buffer lines
;*𝐍Search word under cursor with lines
Space+gt𝐍Find tags matching word under cursor
Space+gf𝐍Find files matching word under cursor
Space+gg𝐍 𝐕Grep word under cursor
Within Denite window
jj or Escape𝐈Leave Insert mode
i or /𝐍Enter Insert mode (filter input)
q or Escape𝐍Exit denite window
Tab or Shift+Tab𝐈Next/previous candidate
Space𝐍Select candidate entry
dd𝐍Delete entry
p𝐍Preview entry
st𝐍Open in a new tab
sg𝐍Open in a vertical split
sv𝐍Open in a split
'𝐍Quick-move
r𝐍Redraw
yy𝐍Yank
Tab𝐍List and choose action

Plugin: Defx

KeyModeAction
;e𝐍Open file-explorer (toggle)
;a𝐍Focus current file in file-explorer
Within Defx window
j or k𝐍Move up and down the tree
l or Return𝐍Toggle collapse/expand directory or open file
h𝐍Collapse directory tree
t𝐍Expand directory tree recursively
.𝐍Toggle hidden files
Space𝐍Select entry
*𝐍Invert selection (select all)
& or </kbd>𝐍Change into current working directory
~𝐍Change to user home directory
u or Backspace𝐍Change into parent directory
u2/3/4𝐍Change into parent directory count
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
K𝐍Create new directory
c / m / p𝐍Copy, move, and paste
r𝐍Rename file or directory
dd𝐍Trash selected files and directories
y𝐍Yank path to clipboard
w𝐍Toggle window size
]g𝐍Next dirty git item
[g𝐍Previous dirty git item
x or gx𝐍Execute associated system application
gd𝐍Open git diff on selected file
gl𝐍Open terminal file explorer with tmux
gr𝐍Grep in current position
gf𝐍Find files in current position

Plugin: Clap

KeyModeAction
Within Clap window
jj or Escape𝐈Leave Insert mode
i𝐍Enter Insert mode (filter input)
q or Escape𝐍Exit clap window
Tab or Shift+Tab𝐈Next/previous candidate
Space or '𝐍Select candidate entry
st𝐍Open in a new tab
sg𝐍Open in a vertical split
sv𝐍Open in a split

Plugin: Asyncomplete and Emmet

KeyModeAction
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

KeyModeAction
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

KeyModeAction
m/ or m?𝐍Show list of buffer marks/markers
mm𝐍Toggle mark on current line
m,𝐍Place next mark
ma-z𝐍Place specific mark (Won't work for: mm, mn, mp)
dma-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
mSpace𝐍Purge marks
mBackspace𝐍Purge markers

Credits & Contribution

Big thanks to the dark knight Shougo.

About

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

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages