config/nvim/init.vim (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
call plug#begin('~/.vim/plugged')
Plug 'Smirnov-O/nten16.vim'
Plug 'sheerun/vim-polyglot'
Plug 'jiangmiao/auto-pairs'
Plug 'scrooloose/nerdtree'
Plug 'w0rp/ale'
call plug#end()
"== General
set termguicolors
colorscheme nten16
" Line numbers
set nu rnu
" Line wrap
set linebreak wrap
" Tabs
set tabstop=2
set shiftwidth=2
set softtabstop=2
set smarttab
set expandtab
set autoindent
" Status line
set ruler laststatus=0
" Maximux item in popup
set pumheight=8
" Scroll
set scrolloff=3
" Mouse
set mouse=a
set mousehide
set cursorline
" Encoding
set encoding=utf-8
set fileencodings=utf-8
" Backup file & history
set nobackup noswapfile noundofile
set history=500
" Search
set incsearch
set ignorecase
set smartcase
" Enable mode line
set modeline
" Auto reload file
set autoread
" Buffer
set hidden
" Space/tab indicator
set list listchars=tab:\|·,trail:~,space:·
" Disable sound
set visualbell t_vb=
"== Aliases
command! W :w
command! Wq :wq
command! Term :vs|wincmd L|set nonu nornu|startinsert|cd %:p:h|term
command! Prettier :silent !prettier -w %
command! Black :silent !black %
command! ElmFmt :silent !elm-format % --yes
"== Settings for specific languages
autocmd FileType python,elm setlocal ex sw=4 ts=4
autocmd FileType javascript,javascriptreact setlocal et sw=2 ts=2
autocmd FileType html,css,json,yaml setlocal ex sw=2 ts=2
"== ALE
let g:ale_disable_lsp = 1
let g:ale_echo_msg_format = '%severity%: %s'
"== NERDTree
let g:NERDTreeWinPos = "right"
let g:NERDTreeMinimalUI = 1
let g:NERDTreeWinSize = 24
"== Mapping
let mapleader=";"
" NerdTree
nnoremap <leader>e :NERDTreeToggle<CR>
" Terminal
tnoremap <Esc> <C-\><C-n>
nnoremap <leader>t :Term<CR>
" Alternative keys
nnoremap <C-s> :w<CR>
nnoremap <C-n> :tabnew<CR>
nnoremap <space> :noh<CR>
" Window
nnoremap <C-h> :wincmd h<CR>
nnoremap <C-j> :wincmd j<CR>
nnoremap <C-k> :wincmd k<CR>
nnoremap <C-l> :wincmd l<CR>
" Split
nnoremap spv :vs<CR>
nnoremap sph :sp<CR>
nnoremap spk :wincmd K<CR>
nnoremap spl :wincmd L<CR>
" Tab
nnoremap tn :tabnew<CR>
noremap <A-1> :tabn 1<CR>
noremap <A-2> :tabn 2<CR>
noremap <A-3> :tabn 3<CR>
noremap <A-4> :tabn 4<CR>
noremap <A-5> :tabn 5<CR>
noremap <A-6> :tabn 6<CR>
noremap <A-7> :tabn 7<CR>
noremap <A-8> :tabn 8<CR>
noremap <A-9> :tabn 9<CR>
" Buffers
nnoremap <leader>j :bnext<CR>
nnoremap <leader>k :bprev<CR>
nnoremap <leader>w :bdele<CR>
nnoremap <leader>b :buffers<CR>
|