DEV Community

Discussion on: Autotools vs Cmake

 
vimmer9 profile image
Damir Franusic

My .vimrc as requsted, not a pretty site :)

"+-----------+
"| " general |
"+-----------+
set exrc
set secure
set t_Co:256
set tabstop=8
set softtabstop=4
set shiftwidth=4
set nocursorline
"set noexpandtab
set expandtab
set number
"set foldmethod=syntax
"set foldlevel=99
set nofoldenable
set nowrap
"set viminfo^=%
syntax on
"set paste
highlight clear SignColumn
"set hidden (enable switching from changed buffer)
set hidden
set backupcopy=yes
set sessionoptions-=options
runtime! ftplugin/man.vim
let g:netrw_liststyle=0
"pathogen
execute pathogen#infect()

"+---------+
"| windows |
"+---------+
function! WinMove(key)
  let t:curwin = winnr()
  exec "wincmd ".a:key
  if (t:curwin == winnr()) "we havent moved
    if (match(a:key,'[jk]')) "were we going up/down
      wincmd v
    else
      wincmd s
    endif
    exec "wincmd ".a:key
  endif
endfunction
map <leader>h :call WinMove('h')<cr>
map <leader>k :call WinMove('k')<cr>
map <leader>l :call WinMove('l')<cr>
map <leader>j :call WinMove('j')<cr>
map <leader>wc :wincmd q<cr>
map <leader>wr <C-W>r
nmap <leader><left>  :3wincmd <<cr>
nmap <leader><right> :3wincmd ><cr>
nmap <leader><up>    :3wincmd +<cr>
nmap <leader><down>  :3wincmd -<cr>

"+-----------+
"| shortcuts |
"+-----------+
" plugins
map <F9> :UndotreeToggle<CR>
map <F8> :TagbarToggle<CR>
autocmd FileType c,cpp nnoremap <buffer><Leader>cf :<C-u>ClangFormat<CR>
" buffers
nnoremap <silent> <F12> :bnext<CR>
nnoremap <silent> <F11> :bprevious<CR>
nnoremap <F5> :CtrlPBuffer<CR>
nnoremap <Leader>q :Bdelete<CR>
" tabs
nnoremap <Leader>tc :tabclose<cr>
nnoremap <Leader>ts :tab split<cr>
" man
nnoremap K :Man <cword><CR>
" copy/paste
noremap <Leader>y "*y
noremap <Leader>p "+p

"+---------+
"| airline |
"+---------+
set laststatus:2
set ttimeoutlen:50
set encoding:utf-8
"let g:airline#extensions#tabline#enabled = 1
"let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline#extensions#capslock#enabled = 1

let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif

"+-----------+
"| syntastic |
"+-----------+
let g:syntastic_cpp_remove_include_errors = 1                                                                                                                                                                                                                       
let g:syntastic_cpp_check_header = 0
let g:syntastic_cpp_auto_refresh_includes = 1
let g:syntastic_mode_map={"mode":"active", "active_filetypes": [], "passive_filetypes": ["c","cpp"]}

"+-----+
"| Ale |
"+-----+
let g:ale_linters = {
\   'javascript': ['eslint', 'flow-language-server']
\}
let g:ale_fixers = {
\   'javascript': ['eslint']
\}
let g:ale_completion_enabled = 1
let g:ale_statusline_format = ['X %d', '? %d', '']
let g:ale_echo_msg_format = '%linter% says %s'
let g:ale_linters_explicit = 1
set completeopt=menu,menuone,preview,noselect,noinsert
map <F7> <Plug>(ale_fix)

"+-----------+
"| ultisnips |
"+-----------+
let g:UltiSnipsExpandTrigger="<c-j>"
let g:UltiSnipsJumpForwardTrigger="<c-j>"
let g:UltiSnipsJumpBackwardTrigger="<c-k>"

"+-----+
"| ycm |
"+-----+
let g:ycm_add_preview_to_completeopt = 1
let g:ycm_autoclose_preview_window_after_completion = 0
let g:ycm_autoclose_preview_window_after_insertion = 1
"let g:loaded_youcompleteme = 1
let g:ycm_register_as_syntastic_checker = 0
let g:ycm_collect_identifiers_from_tags_files = 0
let g:ycm_auto_trigger = 1
let g:ycm_warning_symbol = 'WW'
let g:ycm_error_symbol = 'EE'

"+-------------+
"| javascript  |
"+-------------+
let g:jsx_ext_required = 0
let g:javascript_plugin_flow = 1
let g:ctrlp_regexp = 1
let g:ctrlp_extensions = ['tag']
let g:ctrlp_custom_ignore = {
  \ 'dir':  '\.git$\|\.yardoc\|node_modules\|log\|tmp$',
  \ 'file': '\.so$\|\.dat$|\.DS_Store$'
  \}
let g:ctrlp_root_markers = ['.project_root']
let g:gutentags_project_root = ['.project_root']


"+---------+
"| "colors |
"+---------+
"let g:solarized_termtrans=1
"let g:solarized_termcolors=256
set background=dark
colorscheme gruvbox
highlight Normal ctermbg=None

And finally the list of plugins I use (using Pathogen)

~/.vim/bundle/

  • ale
  • auto-pairs
  • bbye
  • ctrlp.vim
  • emmet-vim
  • nerdcommenter
  • promptline.vim
  • tagbar
  • tlib_vim
  • ultisnips
  • undotree
  • vim-addon-mw-utils
  • vim-airline
  • vim-clang-format
  • vim-cpp-enhanced-highlight
  • vim-gitgutter
  • vim-gutentags
  • vim-javascript
  • vim-jsdoc
  • vim-jsx
  • vim-react-snippets
  • vim-snippets
  • vim-toml
  • YouCompleteMe