Configuration uses Vundle and XDG_DESKTOP compliant paths - macOS users, change the RTP and bundle paths.
Created
March 6, 2018 19:15
-
-
Save SolarLiner/66b3ff2ee853af549fb8c0c41fd8820e to your computer and use it in GitHub Desktop.
My NVIM configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Spaces & Tabs {{{ | |
set tabstop=4 | |
set shiftwidth=4 | |
set softtabstop=4 | |
set expandtab | |
" }}} | |
" Searching {{{ | |
set incsearch " Search as characters are entered | |
set hlsearch " Redundant on NVIM? - Highlight matches | |
" Turn off search highlighting | |
nnoremap <leader><space> :nohlsearch<CR> | |
set foldenable " Enable folding | |
set foldlevelstart=3 " Fold nest level to be closed by default | |
set foldmethod=indent " Fold recognization method | |
" }}} | |
" Movement {{{ | |
" Move by visual lines | |
nnoremap <DOWN> gj | |
nnoremap <UP> gk | |
" Hightlight last inserted text | |
nnoremap gV `[v`] | |
" }}} | |
" }}} | |
" Shortcuts {{{ | |
" Toggle Gundo | |
nnoremap <leader>u :GundoToggle<CR> | |
" Save session | |
nnoremap <leader>s :mksession<CR> | |
" }}} | |
" Backups {{{ | |
"set backup | |
"set writebackup | |
"set backupdir=~/.cache/nvim,/tmp | |
"set backupskip=/tmp,/tmp/* | |
" }}} | |
" Vundle {{{ | |
set nocompatible | |
filetype off | |
set rtp+=~/.config/nvim/bundle/Vundle.vim | |
" Plugins {{{ | |
call vundle#begin('~/.config/nvim/bundle') | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'vim-syntastic/syntastic' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'Valloric/YouCompleteMe' | |
Plugin 'autozimu/LanguageClient-neovim', { | |
\ 'branch': 'next', | |
\ 'do': './install.sh', | |
\ } | |
Plugin 'chriskempson/base16-vim' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'mattn/emmet-vim' | |
Plugin 'tpope/vim-surround' | |
Plugin 'sjl/gundo.vim' | |
Plugin 'wakatime/vim-wakatime' | |
Plugin 'vim-scripts/vim-auto-save' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'leafgarland/typescript-vim' | |
Plugin 'maxmellon/vim-jsx-pretty' | |
Plugin 'ianks/vim-tsx' | |
call vundle#end() | |
" }}} | |
" Plugin Settings {{{ | |
" CtrlP Settings {{{ | |
let g:ctrlp_match_window = 'bottom,order:ttb' | |
let g:ctrlp_switch_buffer = 0 | |
let g:ctrlp_working_path_mode = 0 | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/]\.(git|hg|svn)$', | |
\ 'file': '\v\.(exe|so|dll)$', | |
\ 'link': 'some_bad_symbolic_links', | |
\ } | |
" }}} | |
" Vim Airline Settings {{{ | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline_powerline_fonts = 1 | |
let g:airline_theme='base16_monokai' | |
let g:airline#extensions#tabline#formatter = 'unique_tail_improved' | |
let g:airline_extensions = ['ctrlp', 'virtualenv'] | |
" }}} | |
" LanguageClient Settings {{{ | |
set hidden | |
let g:LanguageClient_serverCommands = { | |
\ 'rust': ['rustup', 'run', 'nightly', 'rls'], | |
\ 'javascript': ['javascript-typescript-stdio'], | |
\ 'javascript.jsx': ['javascript-typescript-stdio'], | |
\ } | |
nnoremap <silent> K :call LanguageClient_textDocument_hover()<CR> | |
nnoremap <silent> gd :call LanguageClient_textDocument_definition()<CR> | |
nnoremap <silent> <F2> :call LanguageClient_textDocument_rename()<CR> | |
" }}} | |
" AutoSave Settings {{{ | |
let g:auto_save = 1 | |
let g:auto_save_in_insert_mode= 0 | |
" }}} | |
" }}} | |
" }}} | |
" UI {{{ | |
set number " Show numbers | |
set relativenumber " Show numbers relative to edited line | |
set showcmd " Show command in bottom bar | |
set cursorline " Hightlight edited line | |
" Auto toggle relative numbers | |
:augroup numbertoggle | |
: autocmd! | |
: autocmd BufEnter,FocusGained,InsertLeave * set relativenumber | |
: autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber | |
:augroup END | |
" Color scheme | |
set termguicolors | |
colorscheme base16-monokai | |
set showmatch " Hightlight matching brace | |
" Searching {{{ | |
set incsearch " Search as characters are entered | |
set hlsearch " Redundant on NVIM? - Highlight matches | |
" Turn off search highlighting | |
nnoremap <leader><space> :nohlsearch<CR> | |
set foldenable " Enable folding | |
set foldlevelstart=3 " Fold nest level to be closed by default | |
set foldmethod=indent " Fold recognization method | |
" }}} | |
" Movement {{{ | |
" Move by visual lines | |
nnoremap <DOWN> gj | |
nnoremap <UP> gk | |
" Hightlight last inserted text | |
nnoremap gV `[v`] | |
" }}} | |
" }}} | |
" Shortcuts {{{ | |
" Toggle Gundo | |
nnoremap <leader>u :GundoToggle<CR> | |
" Save session | |
nnoremap <leader>s :mksession<CR> | |
" }}} | |
" Backups {{{ | |
set backup | |
set writebackup | |
set backupdir=~/.cache/nvim,/tmp | |
set backupskip=/tmp,/tmp/* | |
" }}} | |
filetype plugin indent on | |
" vim:foldmethod=marker:foldlevel=0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment