An article describing key features of this config.
In order to get all features you might want to install following packages:
On unix and windows(with bash which can be installed with git):
curl -L https://raw.github.com/gko/vimio/main/install.sh | bash
In macOS terminal.app don't forget to check the «Use option as meta key»:
And «Esc+» option in iterm2:
Some of shortcuts(Leader key is comma):
- Ctrl + s saves current file
- Leader + s in both
select
andnormal
mode initiates search and replace - Alt + Up/Down moves line or selection above or below current line(see upside-down for more info)
- Alt + Left/Right moves character or selection to left or to the right
- Leader + n toggles NERDTree
- Leader + m shows current file in NERDTree
- when in select mode ', ", ( wraps selection accordingly
- y + m yanks found matches(see yankmatches.vim for more info)
For general instructions see README
See this issue for visual mode
For vim I use Coc.nvim, in their repository you can find their example vim configuration for shortcuts.
For nvim I use native nvim lsp config. You can find the example config here: example lsp config
https://github.com/typescript-language-server/typescript-language-server#installing
https://github.com/golang/tools/tree/master/gopls#installation
https://rust-analyzer.github.io/manual.html#installation
you may need to install:
- rustup https://github.com/rust-lang/rustup#installation
- rust-src
rustup component add rust-src
https://github.com/zigtools/zls/wiki/Installation#install-zls
https://scalameta.org/metals/docs/editors/vim/#using-an-alternative-lsp-client
https://github.com/bmewburn/intelephense-docs/blob/master/installation.md
You can find the list of plugins as well as commands that they provide in the init.vim file.
If you create ~/.vimrc.local
it will be loaded before the end of vim-plug
.
So you can add a custom config + vim plugins of your choice there.
Example .vimrc.local.
You can have a ~/.vimrc_background
file, where you keep custom colorscheme
settings.
Example can be found here. And you can symlink it as following:
ln -sf ~/.vim/.vimrc_background ~/
- Leader + w + w opens
~/Documents/Notes/index.md
- :Todo opens
~/Documents/Notes/todo.md
in a vertical split and fills in current date
see more info in this article: https://dev.to/konstantin/taking-notes-in-vim-revisited-558k you can find the code here: https://github.com/gko/vimio/blob/de73a9272c29acc6f2ce6d5be7f24cbe113a85b4/after/plugin/shortcuts.vim#L225-L229
and here
For checkboxes vim-checkbox plugin is installed
With help of md-img-paste.vim you can paste images by using Leader + p (it would store in the same folder as the markdown document in img
folder)
Not that it matters, but I get the following startup time:
$ hyperfine "nvim --headless +qa" --warmup 5
Benchmark 1: nvim --headless +qa
Time (mean ± σ): 200.1 ms ± 6.9 ms [User: 123.9 ms, System: 63.2 ms]
Range (min … max): 191.9 ms … 210.9 ms 14 runs
Copyright (c) 2012-2024 Konstantin Gorodinskiy