aboutsummaryrefslogtreecommitdiff
path: root/.vimrc
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2021-02-24 17:07:33 +0100
committerCharles Cabergs <me@cacharle.xyz>2021-02-24 17:07:33 +0100
commit468a789dbc4b1928c035d8590895efc533520a27 (patch)
tree74cb056c37eaa50cd50491a7665608488ed4feb1 /.vimrc
parentf9883d2c3b3699d91e98feeffd7eece546f7c57e (diff)
downloaddotfiles-468a789dbc4b1928c035d8590895efc533520a27.tar.gz
dotfiles-468a789dbc4b1928c035d8590895efc533520a27.tar.bz2
dotfiles-468a789dbc4b1928c035d8590895efc533520a27.zip
Updated file tree to match XDG base directory specification
Diffstat (limited to '.vimrc')
-rw-r--r--.vimrc308
1 files changed, 0 insertions, 308 deletions
diff --git a/.vimrc b/.vimrc
deleted file mode 100644
index fe017a1..0000000
--- a/.vimrc
+++ /dev/null
@@ -1,308 +0,0 @@
-""""""""""
-" vimrc "
-""""""""""
-
-" load pluggins {{{
-if exists("$DOTDIR")
- source $DOTDIR/.pluggins.vim
-else
- source .pluggins.vim
-endif
-" }}}
-
-"""""""""""
-" options "
-"""""""""""
-
-" common {{{
-let mapleader = ' ' " set leader key to space
-let maplocalleader = '-' " set file local leader key to backslash
-set nocompatible " not compatible with vi
-set number " line number
-" set relativenumber " line number relative to cursor
-set numberwidth=1 " line numbers gutter autowidth
-set cursorline " highlight current line
-set noshowmatch " dont jump to pair bracket
-set autoread " reload files when changes happen outside vim
-set autowrite " auto write buf on certain events
-set hidden " keep change in buffer when quitting window
-set noswapfile " disable swap files
-set scrolloff=2 " line padding when scrolling
-set textwidth=0 " when line wrap occurs
-set wrapmargin=0 " disable auto line wrapping
-set encoding=utf-8 " utf-8 encoding
-set formatoptions-=t " do not auto break line > 89 character
-filetype plugin indent on " allow to add specific rules for certain type of file
-" set mouse=a " mouse scrolling (heretic)
-" }}}
-
-" browse list with tab {{{
-set wildmode=longest,list,full
-set wildmenu " tab to cycle through completion options
-set path+=** " recursive :find
-"}}}
-
-" intuitif split opening {{{
-set splitbelow
-set splitright
-set fcs+=vert:│ " split separator
-" }}}
-
-" tab {{{
-set expandtab " tab to space
-set tabstop=4 " tab size
-set shiftwidth=4
-set smarttab
-set autoindent
-set smartindent
-" }}}
-
-" file search {{{
-set ignorecase " case insensitive
-set smartcase
-set hlsearch " match highlight
-set incsearch
-" }}}
-
-" status {{{
-set laststatus=2 " always a statusline (all window)
-set showcmd " show current partial command in the bottom right
-set noshowmode " dont show current mode (i.e --INSERT--)
-" }}}
-
-" fold {{{
-set foldmethod=indent " create fold based on the text indent
-set nofoldenable " not folded by default
-" }}}
-
-"""""""""""""""
-" colorscheme "
-"""""""""""""""
-
-" one {{{
-" let g:onedark_terminal_italics=1
-" colorscheme onedark
-" }}}
-" dracula {{{
-" let g:dracula_bold = 1
-" let g:dracula_italic = 1
-" let g:dracula_colorterm = 0
-" colorscheme dracula
-" }}}
-" solarized {{{
-set t_Co=16
-let g:solarized_termcolors=16
-let g:solarized_visibility='low' " visibility of invisible chars with set list
-set background=dark
-colorscheme solarized
-" }}}
-" lightline {{{
-let g:lightline = {}
-" let g:lightline.colorscheme = 'solarized' " lightline theme to solarized
-" let g:lightline.colorscheme = 'jellybeans' " lightline theme to onedark
-let g:lightline = {
- \ 'colorscheme': 'solarized',
- \ 'active': {
- \ 'left': [ [ 'mode', 'paste' ],
- \ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
- \ },
- \ 'component_function': {
- \ 'gitbranch': 'FugitiveHead'
- \ },
- \ }
-" }}}
-
-""""""""""""
-" mappings "
-""""""""""""
-
-" split navigation {{{
-nnoremap <C-J> <C-W><C-J>
-nnoremap <C-K> <C-W><C-K>
-nnoremap <C-L> <C-W><C-L>
-nnoremap <C-H> <C-W><C-H>
-" nnoremap <C-S-J> <C-W><S-J>
-" nnoremap <C-S-K> <C-W><S-K>
-" nnoremap <C-S-L> <C-W><S-L>
-" nnoremap <C-S-H> <C-W><S-H>
-nnoremap <leader>s= <C-W>=
-" }}}
-
-" common {{{
-" 'Y' yank to the end of the line
-noremap Y y$
-" solves annoying delay went exiting insert mode
-inoremap <ESC> <C-C>
-" kj to exit insert mode
-inoremap kj <ESC>
-" remove visual mode keybinding
-noremap Q <nop>
-" remove command line window keybinding
-noremap q: <nop>
-" search with very magic
-nnoremap / /\v
-nnoremap ? ?\v
-" move line up and down
-nnoremap _ ddkP
-nnoremap + ddp
-" long move up/down
-nnoremap ( 10k
-nnoremap ) 10j
-" tag nagigation
-nnoremap <leader>] <C-]>
-nnoremap <leader>t <C-t>
-" common change until
-nnoremap cu ct_
-nnoremap cp ct)
-nnoremap c, ct,
-" }}}
-
-" buffer navigation {{{
-nnoremap <leader>bn :bn<CR>
-nnoremap <leader>bp :bp<CR>
-nnoremap <leader><TAB> :b#<CR>
-nnoremap <leader>bl :ls<CR>
-" }}}
-
-" vimrc {{{
-nnoremap <leader>rc :vsplit $DOTDIR/.vimrc<cr>
-nnoremap <leader>sc :source $MYVIMRC<cr>
-" }}}
-
-" c {{{
-" create c function body from prototype
-nnoremap gcf A<BS><CR>{<CR><CR>}<ESC>j
-
-" initialise a school header file
-function PutHeaderBoilerPlate()
- let l:filename = join(split(toupper(expand('%:t')), '\.'), "_")
- " echom l:filename
- call append(12, "#ifndef " . l:filename)
- call append(13, "# define " . l:filename)
- call append(15, "#endif")
-endfunction
-nnoremap gch :Stdheader<CR>:call PutHeaderBoilerPlate()<CR>
-
-" put semicolon at the end of line
-nnoremap <leader>; mqA;<ESC>`q
-" doxygen format comments
-autocmd Filetype c setlocal comments=s:/**,m:**,e:*/,s:/*,m:**,e:*/
-autocmd Filetype cpp setlocal comments=s:/**,m:**,e:*/,s:/*,m:**,e:*/
-" }}}
-
-" cpp {{{
-" Put Coplien Form boilerplate class
-function PutCoplienFormFunc(name)
- let l:default_constructor = a:name . "();\n"
- let l:copy_constructor = a:name . "(const " . a:name . "& other);\n"
- let l:copy_operator = a:name . "& operator=(const " . a:name . "& other);\n"
- let l:destructor = "~" . a:name . "();\n"
-
- execute "normal iclass " . a:name . "\n{\npublic:\n" . l:default_constructor . l:copy_constructor . l:copy_operator . l:destructor . "\nprivate:\n};\n"
- execute "normal <2{"
-endfunction
-" Put Coplien Form boilerplate according to filename
-command! PutCoplienFormFile call PutCoplienFormFunc(split(expand('%:t'), '\.')[0])
-command! -nargs=1 PutCoplienForm call PutCoplienFormFunc("<args>")
-" }}}
-
-" quickfix window toggle {{{
-nnoremap <leader>q :call QuickfixToggle()<CR>
-nnoremap <leader>n :cnext <CR>
-nnoremap <leader>p :cprevious <CR>
-let g:quickfix_is_open = 0
-function! QuickfixToggle()
- if g:quickfix_is_open
- cclose
- let g:quickfix_is_open = 0
- else
- copen
- let g:quickfix_is_open = 1
- endif
-endfunction
-" }}}
-
-function! CountScopeLines()
- normal! mq
- execute '/^}'
- let l:end_brace = line('.')
- execute '?^{'
- let l:start_brace = line('.')
- normal! k
- let l:scope_len = l:end_brace - l:start_brace - 1
- let l:scope_name = substitute(getline('.'), '\t', ' ', 'g')
- echom l:scope_len . ' lines in |' . l:scope_name . '|'
- normal! `q
-endfunction
-command! CountScopeLines call CountScopeLines()
-
-" make {{{
-nnoremap <leader>m :make all <CR>
-" }}}
-
-" hook {{{
-" remove trailing white space on save
-autocmd BufWritePre * %s/\s\+$//e
-" dirty hack to disable this feature on markdown (autocmd! wouldn't work)
-autocmd BufReadPre *.md autocmd! BufWritePre
-" }}}
-
-" filetype {{{
-" real tab in c file for school projects
-let g:c_syntax_for_h = 1 " filetype=c in header files instead of filetype=cpp
-autocmd Filetype c setlocal noexpandtab
-" std::cout << ... << std::endl; shortcut
-autocmd Filetype cpp nnoremap <leader>cout istd::cout << << std::endl;<ESC>2F<hi
-" vim fold method to marker
-autocmd Filetype vim setlocal foldmethod=marker
-
-autocmd FileType haskell set formatprg=stylish-haskell
-
-autocmd FileType lisp,html,css,htmldjango setlocal shiftwidth=2
-" }}}
-
-""""""""""""
-" pluggins "
-""""""""""""
-
-" ctrlp {{{
-" directory to ignore when searching in file tree
-set wildignore=*/doc/*,*/tmp/*,*.o,*.so,*.a,*.swp,*.zip,*/node_modules/*,*/vendor/*,.bundle/*,bin/*,.git/*,*.pyc
-" ctrlp ignore all stuff in the .gitignore
-let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']
-let g:ctrlp_working_path_mode = 'rw'
-let g:ctrlp_mruf_case_sensitive = 0
-
-nnoremap <leader>p :CtrlPTag<CR>
-" }}}
-
-" quick-scope {{{
-" let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
-" }}}
-
-" man-plugin {{{
-" runtime! ftplugin/man.vim
-" let g:ft_man_open_mode = 'vert' " open in a vertical split
-" let g:ft_man_no_sect_fallback = 2 " if page specified fallback to page 2 (syscall pages)
-" autocmd Filetype man unmap <buffer> q: hmmmm??
-" }}}
-
-" ctrlp-funky {{{
-" let g:ctrlp_funky_syntax_highlight = 1
-" nnoremap <C-f> :CtrlPFunky<CR>
-" }}}
-
-" eazy-align {{{
-xmap ga <Plug>(EasyAlign)
-nmap ga <Plug>(EasyAlign)
-" }}}
-
-vnoremap <leader>c y:call system("xclip -selection clipboard", getreg("\""))<CR>
-nnoremap <leader>v :call setreg("\"", system("xclip -selection clipboard -o"))<CR>p
-
-let g:c_formatter_42_format_on_save = 0
-
-let g:gutentags_ctags_exclude = ['doc/*', 'Makefile']
-" let g:gutentags_ctags_exclude_wildignore = 1
-
-let g:goyo_height = 90