Created
October 25, 2019 19:33
-
-
Save eknowlton/244b26d4008b82ee35b25891e8c34336 to your computer and use it in GitHub Desktop.
simple vim with CoC
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set exrc | |
set encoding=UTF-8 | |
colorscheme brogrammer | |
set number | |
set relativenumber | |
set cursorline | |
set undofile | |
set autoread | |
set expandtab | |
set smartindent | |
set nocompatible | |
inoremap jk <Esc> | |
autocmd FileType javascript setlocal ts=2 sts=2 sw=2 | |
autocmd FileType typescript setlocal ts=2 sts=2 sw=2 | |
autocmd FileType typescript.tsx setlocal ts=2 sts=2 sw=2 | |
autocmd FileType ruby setlocal ts=2 sts=2 sw=2 | |
autocmd FileType php setlocal ts=4 sts=4 sw=4 | |
autocmd FileType sh setlocal ts=2 sts=2 sw=2j | |
" Use tag to trigger completion | |
inoremap <silent><expr> <TAB> | |
\ pumvisible() ? "\<C-n>" : | |
\ <SID>check_back_space() ? "\<TAB>" : | |
\ coc#refresh() | |
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | |
function! s:check_back_space() abort | |
let col = col('.') - 1 | |
return !col || getline('.')[col - 1] =~# '\s' | |
endfunction | |
" Remap keys for gotos | |
nmap <silent> gd <Plug>(coc-definition) | |
nmap <silent> gy <Plug>(coc-type-definition) | |
nmap <silent> gi <Plug>(coc-implementation) | |
nmap <silent> gr <Plug>(coc-references) | |
" Use K to show documentation in preview window | |
nnoremap <silent> K :call <SID>show_documentation()<CR> | |
function! s:show_documentation() | |
if (index(['vim', 'help'], &filetype) >= 0) | |
execute 'h '.expand('<cword>') | |
else | |
call CocAction('doHover') | |
endif | |
endfunction | |
" use `:OR` for organize import of the current buffer | |
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') | |
" lightline configuration | |
let g:lightline = { | |
\ 'colorscheme': 'wombat', | |
\ 'active': { | |
\ 'left': [ [ 'mode', 'paste' ], | |
\ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ] | |
\ }, | |
\ 'component_function': { | |
\ 'cocstatus': 'coc#status' | |
\ }, | |
\ } | |
set secure | |
set mouse=a | |
call plug#begin('~/.vim/plugged') | |
Plug 'tpope/vim-sensible' | |
Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
Plug 'francoiscabrol/ranger.vim' | Plug 'rbgrouleff/bclose.vim' | |
Plug 'tpope/vim-fugitive' | |
Plug 'tpope/vim-surround' | |
Plug 'alvan/vim-closetag' | |
Plug 'tpope/vim-endwise' | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
Plug 'janko-m/vim-test' | |
Plug 'StanAngeloff/php.vim' | |
Plug 'itchyny/lightline.vim' | |
call plug#end() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment