systemSetup

system setup, configuration and dotfiles
git clone https://noulin.net/git/systemSetup.git
Log | Files | Refs | README | LICENSE

.vimrc (5027B)


      1 " in /etc/vim/vimrc.local - set nocompatible              " be iMproved, required
      2 filetype off                  " required
      3 " set the runtime path to include Vundle and initialize
      4 set rtp+=~/.vim/bundle/Vundle.vim
      5 call vundle#begin()
      6 " alternatively, pass a path where Vundle should install plugins
      7 "call vundle#begin('~/some/path/here')
      8 
      9 " let Vundle manage Vundle, required
     10 Plugin 'gmarik/Vundle.vim'
     11 
     12 " Add plugins below
     13 
     14 " vim-easymotion
     15 Plugin 'Lokaltog/vim-easymotion'
     16 
     17 " vim-fugitive
     18 Plugin 'tpope/vim-fugitive'
     19 
     20 " nerdtree
     21 Plugin 'scrooloose/nerdtree'
     22 
     23 " tcomment_vim
     24 Plugin 'tomtom/tcomment_vim'
     25 
     26 " vim-surround
     27 Plugin 'tpope/vim-surround'
     28 
     29 " vim-jade
     30 Plugin 'digitaltoad/vim-jade'
     31 
     32 " vim-coffee-script
     33 Plugin 'kchmck/vim-coffee-script'
     34 
     35 " vim-javascript
     36 Plugin 'pangloss/vim-javascript'
     37 
     38 " SnipMate
     39 Plugin 'MarcWeber/vim-addon-mw-utils'
     40 Plugin 'tomtom/tlib_vim'
     41 Plugin 'garbas/vim-snipmate'
     42 
     43 " Optional
     44 Plugin 'honza/vim-snippets'
     45 
     46 " Tabular
     47 Plugin 'godlygeek/tabular'
     48 
     49 " Conque-GDB
     50 Plugin 'vim-scripts/Conque-GDB'
     51 
     52 " minibufferexplorer
     53 " NO - problem with syntax highlighting - Plugin 'weynhamz/vim-plugin-minibufexpl'
     54 " help:
     55 " https://github.com/weynhamz/vim-plugin-minibufexpl/blob/master/doc/minibufexpl.txt
     56 
     57 " old gcc c11 compile error - Plugin 'Valloric/YouCompleteMe'
     58 
     59 Plugin 'jreybert/vimagit'
     60 
     61 " Plugin 'vim-ctrlspace/vim-ctrlspace'
     62 
     63 Plugin 'vim-scripts/a.vim'
     64 
     65 Plugin 'Raimondi/delimitMate'
     66 
     67 Plugin 'vim-syntastic/syntastic'
     68 
     69 Plugin 'tomtom/quickfixsigns_vim'
     70 
     71 Plugin 'airblade/vim-gitgutter'
     72 
     73 " easytags is slow on large projects
     74 " vim becomes unresponsive (even with async)
     75 Plugin 'xolox/vim-misc'
     76 " not available in termux - Plugin 'xolox/vim-easytags'
     77 
     78 Plugin 'majutsushi/tagbar'
     79 
     80 Plugin 'mbbill/undotree'
     81 
     82 Plugin 'vim-scripts/highlight.vim'
     83 
     84 " Plugin 'junegunn/goyo.vim'
     85 
     86 " Plugin 'junegunn/limelight.vim'
     87 
     88 Plugin 'junegunn/vim-easy-align'
     89 
     90 Plugin 'junegunn/fzf'
     91 Plugin 'junegunn/fzf.vim'
     92 
     93 Plugin 'posva/vim-vue'
     94 
     95 let g:ConqueTerm_Color = 2         " 1: strip color after 200 lines, 2: always with color
     96 let g:ConqueTerm_CloseOnEnd = 1    " close conque when program ends running
     97 let g:ConqueTerm_StartMessages = 0 " display warning messages if conqueTerm is configured incorrectly
     98 
     99 " All of your Plugins must be added before the following line
    100 call vundle#end()            " required
    101 filetype plugin indent on    " required
    102 " To ignore plugin indent changes, instead use:
    103 "filetype plugin on
    104 "
    105 " Brief help
    106 " :PluginList       - lists configured plugins
    107 " :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
    108 " :PluginSearch foo - searches for foo; append `!` to refresh local cache
    109 " :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
    110 "
    111 " see :h vundle for more details or wiki for FAQ
    112 " Put your non-Plugin stuff after this line
    113 
    114 " Pathogen
    115 "execute pathogen#infect()
    116 
    117 
    118 map <C-n> :NERDTreeToggle<CR>
    119 
    120 
    121 
    122 let g:EasyMotion_do_mapping = 0 " Disable default mappings
    123 "+2 char
    124 " Bi-directional find motion
    125 " Jump to anywhere you want with minimal keystrokes, with just one key binding.
    126 " `s{char}{label}`
    127 "nmap s <Plug>(easymotion-s)
    128 " or
    129 " `s{char}{char}{label}`
    130 " Need one more keystroke, but on average, it may be more comfortable.
    131 nmap s <Plug>(easymotion-s2)
    132 
    133 " Turn on case insensitive feature
    134 let g:EasyMotion_smartcase = 1
    135 
    136 " JK motions: Line motions
    137 map <Leader>j <Plug>(easymotion-j)
    138 map <Leader>k <Plug>(easymotion-k)
    139 
    140 nnoremap <C-Left> :tabprevious<CR>
    141 nnoremap <C-Right> :tabnext<CR>
    142 
    143 " fold coffee files
    144 autocmd BufNewFile,BufReadPost *.coffee setl foldmethod=indent foldenable
    145 source ~/.vim/plugin/v.vim
    146 set ruler
    147 autocmd BufWritePre * %s/\s\+$//e
    148 
    149 set path+=**
    150 set wildmenu
    151 set linebreak
    152 " set visual mode selection highlighting
    153 highlight Visual cterm=reverse ctermbg=NONE
    154 
    155 " ctrl space
    156 "set hidden
    157 "set showtabline=0
    158 "let g:CtrlSpaceLoadLastWorkspaceOnStart = 1
    159 "let g:CtrlSpaceSaveWorkspaceOnSwitch = 1
    160 "let g:CtrlSpaceSaveWorkspaceOnExit = 1
    161 
    162 " syntastic
    163 set statusline+=%#warningmsg#
    164 set statusline+=%{SyntasticStatuslineFlag()}
    165 set statusline+=%*
    166 
    167 let g:syntastic_always_populate_loc_list = 1
    168 let g:syntastic_auto_loc_list = 1
    169 let g:syntastic_check_on_open = 1
    170 let g:syntastic_check_on_wq = 0
    171 
    172 " quickfixsigns
    173 nnoremap <F12> :QuickfixsignsToggle<cr>
    174 
    175 
    176 " vim-easytags
    177 let g:easytags_async = 1
    178 
    179 " tagbar
    180 nmap <F8> :TagbarToggle<CR>
    181 
    182 " syntastic toggle
    183 nnoremap <F11> :SyntasticToggleMode<cr>
    184 
    185 " undotree
    186 nnoremap <F5> :UndotreeToggle<cr>
    187 
    188 " display status line and filename
    189 set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
    190 set laststatus=2
    191 
    192 " press f to show function name in C programs
    193 fun! ShowFuncName()
    194   let lnum = line(".")
    195   let col = col(".")
    196   echohl ModeMsg
    197   echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW'))
    198   echohl None
    199   call search("\\%" . lnum . "l" . "\\%" . col . "c")
    200 endfun
    201 map f :call ShowFuncName() <CR>
    202 
    203 " <F2> to show function declaration under cursor
    204 nnoremap <F2> [i
    205 inoremap <F2> <Esc>[i
    206 
    207 " <F4> to save current file
    208 nnoremap <F4> :w<CR>
    209 inoremap <F4> <c-o>:w<CR>