A collection of pre-configured nvim plugins, plug and play ready.
git clone https://github.com/mtdcy/pretty.nvim.git
cd pretty.nvim && ./install.sh
==> Dependencies are installed locally in pretty.nvim.
- Preconfigured plugins and support/host binaries & neovim installer.
- Linters & checkers & conf templates.
- Sticky buffer for sidebars.
- Seamless buffer switch with
C-n
&C-p
, even in terminal mode. - Smart window & buffer close with
C-q
. - Full functional bufferline with mouse clickable.
- Support copy text back from ssh session, copyd
- g:pretty_verbose - How many messages show on screen.
- g:pretty_dark - Dark mode.
- g:pretty_autocomplete - Auto complete or complete with Tab.
Since mouse works even in terminal, you don't have to remember these key mappings.
There are only a few that cannot be done with the mouse, which marked as '[*]'.
[x] Prefer using C-q
instead of :quit
or :close
, as it is smarter.
-
[n]
F8
- Open bufexplorer on center screen. [*] -
[n]
F9
- Open NERDTree (file brower) on left side. [*] -
[n]
F10
- Open Tagbar or TOC on right side. [*] -
[n]
F12
- Open LazyGit window. [*] -
[n]
C-h
- Move focus to left window. -
[n]
C-l
- Move focus to right window. -
[n]
C-j
- Move focus to below window. -
[n]
C-k
- Move focus to up window. -
[n]
C-q
- Close windows and buffers, util the last one.
-
[n]
C-e
- Buffer Explorer -
[n]
C-n
- Buffer Next -
[n]
C-p
- Buffer Prev -
[n]
<leader>1
- Select buffer 1 -
[n]
<leader>2
- Select buffer 2 -
[n]
<leader>3
- Select buffer 3 -
[n]
<leader>4
- Select buffer 4 -
[n]
<leader>5
- Select buffer 5 -
[n]
<leader>6
- Select buffer 6 -
[n]
<leader>7
- Select buffer 7 -
[n]
<leader>8
- Select buffer 8 -
[n]
<leader>9
- Select buffer 9 -
[n]
<leader>0
- Select buffer 10
:tnoremap <Esc> <C-\><C-N>
After this, everything works like insert and normal mode.
[ ] TODO: map gd
gk
gD
to single key.
- [n]
gg
- Goto first line - [n]
gG
- Goto last line - [n]
g[
- Goto start of code block - [n]
g]
- Goto end of code block - [n]
gd
- Goto symbols' definition - [n]
gh
- Goto top of stack (home) - [n]
gk
- Goto keyword's man page - [n]
ge
- Goto next error - [v]
gy
- Goto yank - [n]
gp
- Goto paste - [n]
gl
- Goto loclist
- [v]
/
- Tabularize
- Colors
- solarized8@6178a07
- Explorer
- Tags List
- Tagbar@12edcb5
- Status Line
- lightline.vim@58c97bc
- lightline-bufferline@8206632
- Linter
- ALE@6db58b3
- lightline-ale@a861f691a
- Completor
- deoplete.nvim@43d7457
- echodoc.vim@8c7e99e
- VCS
- lazygit.nvim@0ada6c6
- vim-signify@8670143
- Misc
- Tabular@339091a
- rainbow@61f719a
- vim-matchtag@54357c0
- nerdcommenter@e361a44
I don't like plugin managers as I won't upgrade plugins frequently.
git remote add bufexplorer https://github.com/jlanzarotta/bufexplorer.git
git fetch bufexplorer
git merge bufexplorer/master --allow-unrelated-histories --no-commit --squash
git checkout HEAD -- README.md .gitignore # keep ours files
git mv LICENSE LICENSE.bufexplorer # keep their license file
git rm -rf <...> # delete unneeded
vim README.md # update README
git add README.md
git commit -m "merged bufexplorer"
git push origin main
Delete plugin with git revert
Try to use python to install packages, because nvim has a stronger dependence on python.
No fixer unless it is the same as linter.
- Vim
- vimls -
npm install vim-language-server
- vimls -
- Sh
- shellcheck -
npm install shellcheck
- shellcheck -
- Go
- gopls -
go install golang.org/x/tools/gopls@latest
- gopls -
- Rust
- C/C++
- clang-format -
pip3 install clang-format
- 参数
- clang-format -
- Make
- checkmake -
go install github.com/mrtazz/checkmake/cmd/checkmake@latest
- checkmake -
- CMake
- cmakelint -
pip3 install cmakelint
- cmake-format -
pip3 install cmake-format
- cmakelint -
- Dockerfile
- Html
- htmlhint -
npm install htmlhint
- htmlhint -
- Java
- JavaScript
- Json
- jsonlint -
npm install jsonlint
- jsonlint -
- Markdown - Rules
- markdownlint -
npm install markdownlint-cli
- markdownlint -
- Yaml
- yamllint -
pip3 install yamllint
- yamllint -
- Python
- pylint -
pip3 install pylint
- pylint -
- Files merged from other projects follow their own licenses.
- Files belonging to this project(mainly top-level files) are licensesd under the BSD-2-Clause.