all repos

dotfiles @ fcb370ba0b16ee888bad5d64ed66c9e3298b2b94

my dotfiles

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
call plug#begin('~/.vim/plugged')
  Plug 'sheerun/vim-polyglot'
  " Completion && LSP
  Plug 'neovim/nvim-lspconfig'
  Plug 'hrsh7th/nvim-compe'
  Plug 'jiangmiao/auto-pairs'
  " Status line
  Plug 'hoob3rt/lualine.nvim'
  " Theme
  Plug 'Smirnov-O/nten.vim'
call plug#end()

"== General
colo codedark         " Color scheme
set termguicolors     " GUI colors
set nu rnu cul        " Line numbers & cursor highlight
set nolbr nowrap      " Line wrap
set mouse=a mh        " Mouse
set history=500       " Set history size
set autoread          " Auto read file on change
set hidden            " Change buffet without warning
set visualbell t_vb=  " Disable sounds
set pumheight=8       " Maximum items in pop up
set modeline          " Enable modeline
set nobk noswf noudf  " Swap files
set is ic scs         " Search
let mapleader=";"     " Set leader key
set spr               " Split
set scrolloff=3
set enc=utf-8 fenc=utf-8  " Encoding
set list listchars=tab:\|·,trail:~,space:·

"== Tab(or spaces)
set ts=4 sw=4 sts=4
set sta et ai

"== Status line
lua require'lualine'.setup({options = {
\ theme = "codedark"
\ }})

"== Completion(LSP)
ino <expr> <tab> pumvisible() ? "\<C-n>" : "\<tab>"
ino <expr> <s-tab> pumvisible() ? "\<C-p>" : "\<tab>"
ino <expr> <CR> compe#confirm('<CR>')
nno sr :lua vim.lsp.buf.rename()<cr>
nno sh :lua vim.lsp.buf.hover()<cr>
nno si :lua vim.lsp.buf.definition()<cr>
nno sa :lua vim.lsp.buf.code_action()<cr>

lua << EOF
require'lspconfig'.tsserver.setup{}
require'lspconfig'.gopls.setup{}
require'compe'.setup{
  enabled = true,
  autocomplete = true,
  source = {
    path = true,
    buffer = true,
    nvim_lsp = true,
  }
}
EOF

"== Netrw file tree
let g:netrw_liststyle = 3
let g:netrw_banner = 0
let g:netrw_dirhistmax = 0

"== Custom setting for another files
au FileType python,elm setl sw=4 ts=4
au FileType javascript,javascriptreact,json,yaml setl sw=2 ts=2
au FileType go setl noet sw=4 ts=4

"== Custom commands
com! Prettier :sil !prettier -w %
com! Term  :vs|winc L|se nonu nornu|start|term
com! GoFmt :sil !gofmt -w %
com! Black :sil !black %

"== Mapping
nn <C-s>   :w<cr>
nn <space> :noh<cr>
tno <esc>  <c-\><c-n>
nn <leader>t :Term<cr>
nn <leader>e :Ex<cr>
nn <leader>j :bn<cr>
nn <leader>k :bp<cr>
nn <leader>w :bd<cr>
nn <leader>; :FZF<cr>

nn <C-h> :wincmd h<cr>
nn <C-j> :wincmd j<cr>
nn <C-k> :wincmd k<cr>
nn <C-l> :wincmd l<cr>

nn spv :vs<cr>
nn sph :sp<cr>
nn spk :winc K<cr>
nn spl :winc L<cr>