Lean mean Neovim machine, 30-45ms startup time.
Works best with Neovim 0.5.x
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 remoteand stay in-touch with upstream for reference or cherry-picking.
:LspInstall <server>
)brew install neovim
) ≥ v0.5.01. 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!
To leverage LSP auto-completions and other functionalities, once you open afile in Neovim, run :LspInstall <server>
to usewilliamboman/nvim-lsp-installer installation feature.Use Tab to list available servers.
Here are some useful LSP server installations:
:LspInstall html cssls jsonls yamlls
:LspInstall gopls
:LspInstall pylsp
:LspInstall bashls vimls sumneko_lua
:LspInstall diagnosticls
See lua/plugins/lspconfig.lua and lua/lsp/* for built-inmapping and configuration for several language-servers. You'll need utilitieslike npm
and curl
to install some extensions. For more information, see:
cd ~/.config/nvim
make update
This will run git pull --ff --ff-only
and update all plugins usingShougo/dein.vim package-manager (:call dein#update()
).
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
brew install vint shellcheck jsonlint yamllint
brew install tflint ansible-lint tidy-html5 proselint write-good
yarn global add markdownlint-cli eslint jshint stylelint sass-lint
pip3 install --user pycodestyle pyflakes flake8
brew install rg
)brew install zoxide
)brew install fzf
)For custom configuration, create the config/local.vim
fileand add your personal vimscript there.
For installing plugins, create a config/plugins.local.yaml
file andmanage your own plugin collection. If you want to disable some of the pluginsI 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 localconfig/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, createlua/lsp-local/go.lua
:
local config = {
settings = {
gopls = {
staticcheck = true
}
}
}
return {
config = function(_) return config end,
}
lua/lsp/go.lua
.
Note that 95% of the plugins are lazy-loaded.
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 |
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 |
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 |
Name | Description |
---|---|
williamboman/nvim-lsp-installer | Provides the missing :LspInstall for nvim-lspconfig |
kosayoda/nvim-lightbulb | VSCode
|
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 |
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 |
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 |
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 |
Note that,
g:elite_mode
in .vault.vim
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 … |
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 |
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 |
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) |
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 |
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 |
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 |
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 |
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 隐藏GVIM菜单及设置 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "source $VIMRUNTIME/delmenu.vim "source $V
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。 主要功能 根据设定可以和原始vi完全兼容 多缓冲编辑 任意个数的分割窗口(横,竖) 具备列表和字典功能的脚本语言 可以在脚本中调用 Perl, Ruby, Python, Tcl, MzScheme 单词缩写功能 动态单词补完
宏是录制和播放功能。 当它与Vim命令结合使用时,它就变成了非常强大的组合。 在本节中,将讨论以下主题内容 - 开始录制 执行Vim操作 停止录制 播放录制 1. 开始录制 要开始录制,请按,然后按任何小写字母作为宏名称。 例如,在下面的示例中,使用作为宏名称。 2. 执行Vim操作 在此步骤中,可以执行任何Vim操作,例如:剪切,复制,删除,替换等。可以通过执行以下命令来查看这些操作 - 例如,
Vim users can install either vim-prettier, which is Prettier specific, or Neoformat or ALE which are generalized lint/format engines with support for Prettier. vim-prettier See the vim-prettier readme
打磨得像 IDE 一样的 Vim 编辑器。 安装 最新版本的Vim 7.4+ 使用(brew install macvim)安装,vim 版本更新 brew install macvim --override-system-vim 查看配置位置 # 进入vim输入下面字符:echo $MYVIMRC 下载vim-web 将插件以及配置下载到 ~/.vim/ 目录中,这个目录是存放所有插件和配置的地
webapp-vim 是一个网站服务器,它允许在vim中使用vim脚本开发web应用。
vim-plug 是一个小型的 vim 插件管理器。 特性: 易于安装,单个文件 易于使用,语法直观 超快 的并行安装和更新 可创建影子克隆来最小化磁盘使用以及下载时间 按需加载,大大提升启动速度 可浏览和回滚更新 Branch/tag 支持 更新后的钩子处理 支持外部管理插件 使用方法:只需要下载 plug.vim 文件并存放到 ~/.vim/autoload 目录即可。 示例: call pl