My personal Vim configuration
git clone https://github.com/eparreno/vimfiles.git ~/.vimThat's it. Really. You don't even need to link .vimrc
The setup will automatically install vim-plug on first run.
- Leader key:
<space> - Line numbers: enabled
- Indentation: 2-space soft tabs (expandtab)
- Search: case-insensitive (unless uppercase letters present), with
gdefaultflag - Splitting: vertical splits go right, horizontal splits go below
- Clipboard: uses system clipboard
- Color scheme: Nord
- Encoding: UTF-8
- Auto-deletion: trailing whitespaces removed on save
- No backup/swap files
<space>- Leader key
;- Enter command mode (mapped to:)H- Go to beginning of lineL- Go to end of lineY- Yank until end of line (like D and C)Q- Format text (gq)!- Execute shell command<C-h/j/k/l>- Switch between splits (no need to prepend<C-w>)<leader><space>- Clear search highlight<leader>e- Edit command with current file path<leader>c- Comment/uncomment line or selection<leader>w- Save file<leader>q- Quit<leader>v- New vertical split<leader>s- New horizontal split<leader>0- Toggle NERDTree<leader>t- Recursively toggle fold<Tab>- Previous buffer (BufSurf)<S-Tab>- Next buffer (BufSurf)<C-c>- Close current buffer<C-p>- Open CtrlP fuzzy finder- Arrow keys in normal mode are disabled (for training)
- Arrow keys in command mode resize windows
jjorkk- Exit to normal mode
<and>- Keep visual selection after indentingH- Go to beginning of lineL- Go to end of line
The configuration uses vim-plug for plugin management.
- ale - Asynchronous linting engine
- Auto-fix on save enabled
- Python: isort, yapf, all linters
- lightline.vim - Lightweight statusline
- vim-commentary - Comment stuff out
- vim-endwise - Wisely add "end" in Ruby, Vim script, etc.
- nerdtree - File system explorer
- vim-gitgutter - Git diff in the sign column
- vim-bufsurf - Buffer surfing with Tab/Shift-Tab
- vim-tmux-navigator - Seamless tmux/vim navigation
- vim-autoclose - Auto-close quotes, parentheses, brackets
- supertab - Tab completion
- ctrlp.vim - Fuzzy file finder
- syntastic - Syntax checking (passive mode for most files)
- vim-ruby - Ruby support
- vim-rubocop - RuboCop integration
- vim-python-pep8-indent - PEP8 indentation
- vim-javascript - JavaScript support
- typescript-vim - TypeScript syntax
- vim-slim - Slim template support
~/.vim/
├── vimrc # Main configuration file
├── config.vim # General settings and options
├── plugins.vim # Plugin definitions and configurations
├── mappings.vim # Key mappings
├── autoload/ # vim-plug bootstrap
└── colors/ # Color schemes (nord, monochrome, flattened, etc.)
Create ~/.vimrc.local for any personal customizations that you don't want to commit to the repository.
q q