102 lines
2.3 KiB
Plaintext
102 lines
2.3 KiB
Plaintext
|
syntax on
|
||
|
set number
|
||
|
set cursorline
|
||
|
set expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
||
|
set autoindent
|
||
|
set spelllang=vi,en
|
||
|
|
||
|
" Fold
|
||
|
set foldmethod=syntax
|
||
|
set foldlevel=1
|
||
|
set foldnestmax=1
|
||
|
set encoding=utf8
|
||
|
|
||
|
" Search
|
||
|
set hlsearch
|
||
|
nnoremap i :nohls<CR>i
|
||
|
|
||
|
" Plugin
|
||
|
call plug#begin()
|
||
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||
|
Plug 'preservim/nerdtree'
|
||
|
Plug 'preservim/nerdcommenter'
|
||
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||
|
Plug 'junegunn/fzf.vim'
|
||
|
Plug 'vim-airline/vim-airline'
|
||
|
Plug 'vim-airline/vim-airline-themes'
|
||
|
Plug 'kevinhwang91/nvim-bqf'
|
||
|
Plug 'morhetz/gruvbox'
|
||
|
Plug 'tpope/vim-fugitive'
|
||
|
Plug 'ynkdir/vim-diff'
|
||
|
call plug#end()
|
||
|
|
||
|
"Color scheme
|
||
|
|
||
|
colorscheme gruvbox
|
||
|
let g:gruvbox_contrast_light = 'hard'
|
||
|
|
||
|
set background=dark
|
||
|
|
||
|
" Comments
|
||
|
let mapleader = ","
|
||
|
|
||
|
"Open NERDTree
|
||
|
:nnoremap <silent> <expr> <F2> g:NERDTree.IsOpen() ? "\:NERDTreeClose<CR>" : bufexists(expand('%')) ? "\:NERDTreeFind<CR>" : "\:NERDTree<CR>"
|
||
|
|
||
|
|
||
|
"Coc.nvim
|
||
|
inoremap <silent><expr> <TAB>
|
||
|
\ coc#pum#visible() ? coc#_select_confirm() :
|
||
|
\ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
|
||
|
\ CheckBackSpace() ? "\<TAB>" :
|
||
|
\ coc#refresh()
|
||
|
|
||
|
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#_select_confirm() : coc#refresh()
|
||
|
|
||
|
function! CheckBackSpace() abort
|
||
|
let col = col('.') - 1
|
||
|
return !col || getline('.')[col - 1] =~# '\s'
|
||
|
endfunction
|
||
|
|
||
|
let g:coc_snippet_next = '<tab>'
|
||
|
" remap save
|
||
|
nnoremap <space> :w<CR>
|
||
|
|
||
|
" moving between windows
|
||
|
nnoremap <C-h> <C-W>h
|
||
|
nnoremap <C-j> <C-W>j
|
||
|
nnoremap <C-k> <C-W>k
|
||
|
nnoremap <C-l> <C-W>l
|
||
|
nnoremap <C-Left> <C-W>h
|
||
|
nnoremap <C-Down> <C-W>j
|
||
|
nnoremap <C-Up> <C-W>k
|
||
|
nnoremap <C-Right> <C-W>l
|
||
|
nnoremap <leader>to :tabonly<CR>
|
||
|
nnoremap <leader>o :only<CR>
|
||
|
nnoremap <leader><tab> :tabn<CR>
|
||
|
nnoremap <S-tab> :tabp<CR>
|
||
|
|
||
|
"set clipboard+=unnamedplus
|
||
|
" " Copy to clipboard
|
||
|
vnoremap <leader>y "+y
|
||
|
nnoremap <leader>Y "+yg_
|
||
|
nnoremap <leader>y "+y
|
||
|
nnoremap <leader>yy "+yy
|
||
|
|
||
|
" " Paste from clipboard
|
||
|
nnoremap <leader>p "+p
|
||
|
nnoremap <leader>P "+P
|
||
|
|
||
|
|
||
|
" FZF key mapping
|
||
|
nnoremap <silent> <Leader>b :Buffers<CR>
|
||
|
nnoremap <silent> <Leader>r :Rg<CR>
|
||
|
nnoremap <silent> <Leader>f :Files<CR>
|
||
|
nnoremap <silent> <Leader>g :GFiles<CR>
|
||
|
nnoremap <silent> <Leader>w :Rg <C-R><C-W><CR>
|
||
|
|
||
|
filetype plugin on
|
||
|
set splitright
|
||
|
set splitbelow
|
||
|
|