Revisions of some ideas I've come across for basic sensible defaults for dotfiles
I've listed some requirements I want for a usable/sensible vim editor:
- minimap for scrolling: minimap
- Sensible Scrolling: sidescroll=1
- Tree explorer: NERD Tree
- Fuzzy search: Fzf + Ripgrep
- Multiple Cursors: vim-multiple-cursors
- Buffer navigation
- Comment things out: vim-commentary
- syntax highlighting
- language support for: go, javascript, python, c++, c, html, css, markdown, scss
- handle braces/brackets/parens,quotes auto-pairs
- status/tabline: vim-airline
- git diff while editing file in gutter: vim-gitgutter
- zen mode: vim-zenroom2
- indent lines: indentLine
- parameter completion for javascript: jspc
- json schema validation: vison
- debugging code with lldb: viminspector
- coc for code completion via language servers coc.vim
- navigate seamlessly with tmux: vim-tmux-navigator
- auto format rust with
let g:rustfmt_autosave = 1
- remap paste/cut/move to sane defaults
- setup keybindings for everything!
For tmux I want to be able to navigate seamlessly between my workflow in vim as well.
- bind keys to quickly switch panes
- navigate between tmux and vim with hjkl vim-tmux-navigator
- fix mouse mode in tmux for resizing panes and scrolling tmux-better-mouse-mode
- fix yank to copy to clipboard (clipboard properly between tmux/vim and everywhere else) tmux-yank
- send command keys to vim when navigating between panes (if vim) via bind-keys