|
diff --git a/vimrc b/vimrc
|
| 1 |
set nocompatible |
1 |
colorscheme sorbet |
| 2 |
set number relativenumber autoindent |
2 |
set number relativenumber autoindent signcolumn=yes |
| 3 |
set ignorecase smartcase incsearch |
3 |
set hidden nowrap nobackup noswapfile autoread updatetime=300 |
| 4 |
set hidden nowrap nobackup noswapfile autoread |
|
|
| 5 |
set wildmenu wildmode=list:longest,full laststatus=2 |
|
|
| 6 |
set encoding=utf8 spelllang=en_us |
4 |
set encoding=utf8 spelllang=en_us |
| 7 |
set backspace=2 scrolloff=4 |
5 |
set backspace=2 scrolloff=4 |
| 8 |
set shiftwidth=4 tabstop=4 |
6 |
set shiftwidth=4 tabstop=4 |
| 9 |
set path+=** gp=grep\ -irn |
|
|
| 10 |
|
7 |
|
| 11 |
filetype plugin indent on |
8 |
" https://github.com/junegunn/vim-plug |
| 12 |
syntax enable |
9 |
call plug#begin() |
|
|
10 |
Plug 'tpope/vim-sensible' |
|
|
11 |
Plug 'tpope/vim-commentary' |
|
|
12 |
Plug 'tpope/vim-fugitive' |
|
|
13 |
Plug 'jiangmiao/auto-pairs' |
|
|
14 |
Plug 'junegunn/fzf' |
|
|
15 |
Plug 'junegunn/fzf.vim' |
|
|
16 |
Plug 'neoclide/coc.nvim', {'branch': 'release', 'do': 'npm install'} |
|
|
17 |
call plug#end() |
| 13 |
|
18 |
|
| 14 |
nnoremap <C-Right> :bnext<cr> |
19 |
nnoremap <C-Right> :bnext<cr> |
| 15 |
nnoremap <C-Left> :bprevious<cr> |
20 |
nnoremap <C-Left> :bprevious<cr> |
| 16 |
nnoremap <C-b> :buffers<cr>:buffer |
|
|
| 17 |
nnoremap <C-q> :copen<cr> |
21 |
nnoremap <C-q> :copen<cr> |
| 18 |
|
22 |
nnoremap <C-p> :GFiles<cr> |
| 19 |
" Personal tabs/spaces settings. |
23 |
nnoremap <C-b> :Buffers<cr> |
| 20 |
autocmd Filetype make,go,sh setlocal noexpandtab tabstop=4 shiftwidth=4 |
24 |
nnoremap <C-s> :Rg<cr> |
| 21 |
autocmd Filetype c,cpp,zig setlocal expandtab tabstop=4 shiftwidth=4 |
|
|
| 22 |
autocmd Filetype lua,nix,html,xml,javascript,css setlocal expandtab tabstop=2 shiftwidth=2 |
|
|
| 23 |
|
|
|
| 24 |
" Code commenting - https://stackoverflow.com/a/1676672. |
|
|
| 25 |
augroup CodeCommenting |
|
|
| 26 |
autocmd! |
|
|
| 27 |
autocmd FileType c,cpp,go,zig,javascript let b:comment_leader = '// ' |
|
|
| 28 |
autocmd FileType sh,ruby,python let b:comment_leader = '# ' |
|
|
| 29 |
autocmd FileType conf,fstab let b:comment_leader = '# ' |
|
|
| 30 |
autocmd FileType lua,sql let b:comment_leader = '-- ' |
|
|
| 31 |
autocmd FileType vim let b:comment_leader = '" ' |
|
|
| 32 |
augroup END |
|
|
| 33 |
noremap <silent> cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR> |
|
|
| 34 |
noremap <silent> cu :<C-B>silent <C-E>s/^\(\s*\)\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR> |
|
|
| 35 |
|
25 |
|
| 36 |
" FZF - fuzzy finder integration. |
26 |
nmap <silent> [g <Plug>(coc-diagnostic-prev) |
| 37 |
function! FZF() |
27 |
nmap <silent> ]g <Plug>(coc-diagnostic-next) |
| 38 |
let t=tempname() |
28 |
nmap <silent> gd <Plug>(coc-definition) |
| 39 |
silent execute '!fzf --preview=''cat {}'' --multi|awk ''{print $1":1:0"}'' > '.fnameescape(t) |
29 |
nmap <silent> gy <Plug>(coc-type-definition) |
| 40 |
execute 'cfile '.t|redraw! |
30 |
nmap <silent> gi <Plug>(coc-implementation) |
| 41 |
call delete(t) |
31 |
nmap <silent> gr <Plug>(coc-references) |
| 42 |
endfunction |
|
|
| 43 |
nnoremap <C-p> :call FZF()<cr> |
|
|
| 44 |
|
32 |
|