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 |
call plug#begin('~/.vim/plugged')
Plug 'Smirnov-O/nten16.vim'
Plug 'sheerun/vim-polyglot'
Plug 'jiangmiao/auto-pairs'
call plug#end()
"== General
set termguicolors
colorscheme nten16
" Line numbers
set number
set relativenumber
" Line wrap
set nolinebreak
set nowrap
" Tabs
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
set expandtab
set autoindent
" Status line
set laststatus=0
set ruler
" Folding
set foldmethod=manual
" Maximux item in popup
set pumheight=9
" Scroll
set scrolloff=4
" 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:~,extends:>,precedes:<,space:·
" Disable sound
set visualbell t_vb=
"== Settings for specific files
autocmd FileType python,go,json setlocal et sw=4 ts=4
autocmd FileType html,css,javascript,javascriptreact,yaml setlocal et sw=2 ts=2
"== Aliases
command! W :w
command! WQ :wq
command! Wq :wq
command! Wiki :e ~/doc/index.md
command! Prettier :!prettier % --write
command! ESlint :!eslint %
command! Flake8 :!flake8 %
command! Black :!black %
command! AutoPep8 :!autopep8 % --in-place
"== Mapping
let mapleader=";"
" Alternative keys
noremap <C-s> :w<CR>
noremap <C-n> :tabnew<CR>
noremap <space> :nohl<CR>
noremap <C-space> zc
" Window
noremap <C-h> :wincmd h<CR>
noremap <C-j> :wincmd j<CR>
noremap <C-k> :wincmd k<CR>
noremap <C-l> :wincmd l<CR>
" Split
noremap spv :vsp<CR>
noremap sph :sp<CR>
noremap spk :wincmd K<CR>
noremap spl :wincmd L<CR>
" Tab
noremap tn :tabnew<CR>
noremap tc :tabclose<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>
" Buffer
noremap <leader>j :bnext<CR>
noremap <leader>k :bprev<CR>
" Work with system clipboard
noremap <leader>c "*yy<CR>
noremap <leader>v "+p<CR>
" Kill terminal
tnoremap <Esc> <C-\><C-n> :q<CR>
|