/pretty.nvim

A collection of nvim plugins/Personal nvim settings.

Primary LanguageVim ScriptBSD 2-Clause "Simplified" LicenseBSD-2-Clause

pretty.nvim

A collection of pre-configured nvim plugins, plug and play ready.

UI / TermUI

ui

More

Requirements

  • neovim: ~0.6+ ==> Neovim v0.9.4 embedded
  • python3: latest +pip +venv
  • npm: latest

Quick Start

git clone https://github.com/mtdcy/pretty.nvim.git
cd pretty.nvim && ./install.sh

==> Dependencies are installed locally in pretty.nvim.

Features

  • 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

Settings

  • g:pretty_verbose - How many messages show on screen.
  • g:pretty_dark - Dark mode.
  • g:pretty_autocomplete - Auto complete or complete with Tab.

Key Mappings

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 '[*]'.

Windows

[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.

Buffers

  • [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

About terminal buffers

:tnoremap <Esc> <C-\><C-N>

After this, everything works like insert and normal mode.

Goto/Jump

[ ] 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

Features

  • [v] / - Tabularize

Plugins Embedded

Howto Add Plugins

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

Plugins Configurations

ALE

Try to use python to install packages, because nvim has a stronger dependence on python.

No fixer unless it is the same as linter.

Mirror

Copyrights and Licenses

  • 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.