X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/2a83324d56b554696044410179b6eae122e95eca..3b988e89bbc4154850b407f159b903a1e2835753:/vimrc diff --git a/vimrc b/vimrc deleted file mode 100644 index db95efe..0000000 --- a/vimrc +++ /dev/null @@ -1,276 +0,0 @@ -" My vimrc file. -" -" Author: Samir Benmendil -" - -filetype off -set rtp+=~/.vim/bundle/vundle/ -call vundle#rc() - -Bundle 'gmarik/vundle' -Bundle 'wincent/Command-T' -Bundle 'bling/vim-airline' -Bundle 'ctrlp.vim' -Bundle 'fugitive.vim' -Bundle 'Gundo' -Bundle 'The-NERD-tree' -Bundle 'surround.vim' -Bundle 'Syntastic' -Bundle 'Tagbar' -Bundle 'tComment' -Bundle 'Valloric/YouCompleteMe' -Bundle 'elzr/vim-json' - -filetype plugin indent on - -" moving around, searching and patterns {{{1 -set incsearch " show match for partly typed search command -set ignorecase " ignore case when using a search pattern -set smartcase " override 'ignorecase' when pattern has upper case characters -set hlsearch " highlight all matches for the last used search pattern - -" use leader-n to unhighlight search -nmap n :silent nohl -" use leader-# to display the number of matches for the last search -nmap # :%s:/::gn -" center cursor after search -nnoremap n nzz -" disable arrows -inoremap -inoremap -inoremap -inoremap -noremap -noremap -noremap -noremap - -set nostartofline " don't move the cursor to the first non-blank char of a line -set path=.,** " current + subdirectory search for :find, :grep:, ... - -" displaying text {{{1 -set scrolloff=5 " number of screen lines to show around the cursor -set wrap " long lines wrap -set linebreak " wrap long lines at a character in 'breakat' -set showbreak=▒▒ " show these chars for wrapped lines - -set lazyredraw " don't redraw while executing macros - -set list " show chars defined in 'listchars' -set listchars=tab:»·,trail:· " list of strings used for list mode - -set number " show the line number for each line -set relativenumber " show the relative line number for each line -" toggle relativenumber -nnoremap u :exe "set relativenumber!" - -if has("autocmd") - " When editing a file, always jump to the last known cursor position. - " Don't do it when the position is invalid or when inside an event handler - " (happens when dropping a file on gvim). - " Also don't do it when the mark is in the first line, that is the default - " position when opening a file. - " blacklist certain filetype, you can get a file type with :echo &ft - let blacklist = ['gitcommit'] - autocmd BufReadPost * - \ if index(blacklist, &ft) < 0 && line("'\"") > 1 && line("'\"") <= line("$") | - \ exe "normal! g`\"" | - \ endif -endif - - -" syntax, highlighting and spelling {{{1 -set background=dark " Dark background, d'uh! -syntax on - -set spelllang=en,de,fr " list of accepted languages -set dictionary=spell " list of dictionary files for keyword completion -" toggle spell-checking -map :set nospell!:set nospell? - -if has("autocmd") - au Filetype * - \ if &omnifunc == "" | setl omnifunc=syntaxcomplete#Complete | endif -endif - -" multiple windows {{{1 -set laststatus=2 " 0, 1 or 2; when to use a status line for the last window - -set previewheight=20 " default height for the preview window - -set splitright " a new window is put right of the current one - -nmap j -nmap k -nmap h -nmap l - -map :ls:b - -" using the mouse {{{1 -set mouse=rnv " list of flags for using the mouse -set ttymouse=xterm " type of mouse - -"xterm mouse with middleclick paste -nnoremap i -vnoremap s - -" messages and info {{{1 -set showcmd " Show (partial) command in status line. -set ruler " show the cursor position all the time -set confirm " Ask what to do when closing unsaved documents - -" editing text {{{1 -set backspace=indent,eol,start " allow backspacing over everything in insert mode - -set showmatch " Show matching brackets. - -set nojoinspaces " don't use two spaces after '.' when joining a line -set formatoptions+=j " remove comment leader when joining lines - -set nrformats=hex " number formats recognized for CTRL-A and CTRL-X commands - -" whether to use a popup menu for Insert mode completion -set completeopt=longest,menuone,preview - -" Indent if we're at the beginning of a line. Else, do completion. -function! InsertTabWrapper() - let col = col('.') - 1 - if !col || getline('.')[col - 1] !~ '\k' - return "\" - else - return "\" -endif -endfunction -inoremap =InsertTabWrapper() -inoremap - -" fix legacy vi inconsistency -map Y y$ - -" allow repeat operator on visual -vnoremap . :normal . - -" add line without changing position or leaving mode -map o :set pastem`o``:set nopaste -map O :set pastem`O``:set nopaste - -" Don't use Ex mode, use Q for formatting -map Q gq - -" allow undoing in insert-mode -inoremap u -inoremap u - -" tabs and indent {{{1 -set shiftwidth=4 " number of spaces used for each step of (auto)indent -set smarttab " a in an indent inserts 'shiftwidth' spaces -set softtabstop=4 " if non-zero, number of spaces to insert for a -set shiftround " round to 'shiftwidth' for "<<" and ">>" -set expandtab " expand to spaces in Insert mode - -set cindent " use smart C indenting (see :h C-indenting) -set cinoptions=l1,c4,(0,U1,w1,m1,j1,J1 - -set pastetoggle= " key sequence to toggle paste mode - -nmap b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4 -nmap B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4 -nmap M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4 -nmap m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2 - -" folding {{{1 -set foldmethod=marker " folding type -set foldlevelstart=99 " value for 'foldlevel' when starting to edit a file - -" space will toggle current fold in normal mode -nnoremap @=(foldlevel('.')?'za':"\") -" create folds around visual selection -vnoremap zf - -" save and restore folds -autocmd BufWinLeave *.* mkview -autocmd BufWinEnter *.* silent loadview - -" reading and writing files {{{1 -set writebackup " write a backup file before overwriting a file -set backup " keep a backup after owerwriting a file -set backupdir=$HOME/.vim/backupdir - -set undofile " persistent undo history -set undodir=$HOME/.vim/backupdir - -set autowrite " automatically write a file when leaving a modified buffer - -" save with sudo -cmap w!! w !sudo tee % > /dev/null - -" command line editing {{{1 -set history=500 " how many command lines are remembered -set wildmode=longest:full " specifies how command line completion works -set wildmenu " command-line completion shows a list of matches - -" various {{{1 -set virtualedit=block " let cursor move past last char in mode -set viminfo='100,<50,s10,h,n~/.vim/viminfo " viminfo defaults but save file in .vim - -" plugins {{{1 -" airline {{{2 -let g:airline_detect_whitespace=2 -let g:airline_whitespace_symbol = 'Ξ' -let g:airline_linecolumn_prefix = '␊ ' -let g:airline_left_sep = '▶' -let g:airline_right_sep = '◀' -let g:airline#extensions#tabline#enabled = 1 - -" Gundo {{{2 -nnoremap :GundoToggle -" fugitive {{{2 -nmap dd :tab split \| Gdiff \| wincmd h - -" NERDTree {{{2 -" open/close NERDTree with \e -nmap e :NERDTreeToggle -nmap :NERDTreeToggle -" to open files/dirs -let NERDTreeMapActivateNode='' -" open NERDTree if no files were selected -autocmd vimenter * if !argc() | NERDTree | endif -" close vim if only NERDTree is open -autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif - -" synastic {{{2 -let g:syntastic_enable_highlighting = 0 -let g:syntastic_error_symbol='E' -let g:syntastic_style_error_symbol='S' -let g:syntastic_warning_symbol='W' -let g:syntastic_style_warning_symbol='S' -let g:syntastic_always_populate_loc_list=1 -nmap y :SyntasticCheck - -if ! &diff - let g:syntastic_check_on_open=1 -endif - -" tagbar {{{2 -map :TagbarToggle -let g:tagbar_sort = 0 -let g:tagbar_compact = 1 -let g:tagbar_autoshowtag = 1 -let g:tagbar_width = 25 -let g:tagbar_iconchars = ['+', '-'] - -" YouCompleteMe {{{2 -let g:ycm_extra_conf_globlist = ['/mnt/data/src/*'] - -" vim-json {{{2 -let g:vim_json_syntax_conceal = 0 - -" functions {{{1 -" Convenient command to see the difference between the current buffer and the -" file it was loaded from, thus the changes you made. -" Only define it when not defined already. -if !exists(":DiffOrig") - command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis - \ | wincmd p | diffthis -endif