From: Samir Benmendil Date: Thu, 31 Jul 2014 11:00:25 +0000 (+0100) Subject: vim: split options into its own fold X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/62c3835d6d47dcc29c045519fc3e97aba78e6000 vim: split options into its own fold --- diff --git a/vim/vimrc b/vim/vimrc index 8de988a..ab60260 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -61,12 +61,6 @@ filetype plugin indent on map nnoremap :make -" 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 @@ -92,24 +86,6 @@ cnoremap cnoremap cnoremap -set nostartofline " don't move the cursor to the first non-blank char of a line -set path=.,include/,../include/,/usr/include/c++/*,/opt/ros/hydro/include - -" displaying text {{{1 -set scrolloff=5 " number of screen lines to show around the cursor -set nowrap " 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 listchars+=extends:⋯,precedes:⋯ -set sidescrolloff=1 " don't scroll over the listchars - -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!" @@ -127,12 +103,9 @@ if has("autocmd") \ endif endif - -" syntax, highlighting and spelling {{{1 colorscheme badwolf syntax on -set dictionary=spell " list of dictionary files for keyword completion " Spell Check http://tex.stackexchange.com/a/52932 let b:myLang=0 let g:myLangList=["en_gb","en_us","de","fr"] @@ -163,45 +136,16 @@ if has("autocmd") \ 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 - map :ls:b nmap w nmap W -" 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 -set shortmess=filnxtoOI " don't show intro message - -" 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 - " fix legacy vi inconsistency map Y y$ @@ -219,7 +163,83 @@ map Q gq inoremap u inoremap u -" tabs and indent {{{1 +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 + +" space will toggle current fold in normal mode +nnoremap za +" create folds around visual selection +vnoremap zf + +autocmd BufWinLeave *.* mkview +autocmd BufWinEnter *.* silent loadview + +" save with sudo +cmap w!! w !sudo tee % > /dev/null + + +" options {{{1 +" moving around, searching and patterns {{{2 +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 + +set nostartofline " don't move the cursor to the first non-blank char of a line +set path=.,include/,../include/,/usr/include/c++/*,/opt/ros/hydro/include + +" displaying text {{{2 +set scrolloff=5 " number of screen lines to show around the cursor +set nowrap " 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 listchars+=extends:⋯,precedes:⋯ +set sidescrolloff=1 " don't scroll over the listchars + +set number " show the line number for each line +set relativenumber " show the relative line number for each line + +" syntax, highlighting and spelling {{{2 +set dictionary=spell " list of dictionary files for keyword completion + +" multiple windows {{{2 +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 + +" using the mouse {{{2 +set mouse=rnv " list of flags for using the mouse +set ttymouse=xterm " type of mouse + +" messages and info {{{2 +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 +set shortmess=filnxtoOI " don't show intro message + +" editing text {{{2 +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 + +" tabs and indent {{{2 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 @@ -231,26 +251,14 @@ 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 +" folding {{{2 set foldmethod=marker " folding type set foldlevelstart=0 " value for 'foldlevel' when starting to edit a file -" space will toggle current fold in normal mode -nnoremap za -" create folds around visual selection -vnoremap zf - " save and restore folds set viewoptions=folds,cursor " don't save local options -autocmd BufWinLeave *.* mkview -autocmd BufWinEnter *.* silent loadview -" reading and writing files {{{1 +" reading and writing files {{{2 set writebackup " write a backup file before overwriting a file set backup " keep a backup after owerwriting a file set backupdir=$XDG_CACHE_HOME/vim @@ -260,18 +268,15 @@ set undodir=$XDG_CACHE_HOME/vim set autowrite " automatically write a file when leaving a modified buffer -" save with sudo -cmap w!! w !sudo tee % > /dev/null - -" the swap file {{{1 +" the swap file {{{2 set directory=$XDG_CACHE_HOME/vim,.,/var/tmp -" command line editing {{{1 +" command line editing {{{2 set history=500 " how many command lines are remembered set wildmode=longest:full,full " specifies how command line completion works set wildmenu " command-line completion shows a list of matches -" various {{{1 +" various {{{2 set virtualedit=block " let cursor move past last char in mode set viminfo='100,<50,s10,h,n$XDG_CACHE_HOME/vim/viminfo " viminfo defaults but save file in .cache @@ -306,6 +311,7 @@ autocmd BufReadPost fugitive://* set bufhidden=delete nnoremap gs :Gstatus nnoremap gd :Gdiff nnoremap gc :tab Gcommit -v +nnoremap gw :Gwrite " NERDTree {{{2 " open/close NERDTree with \e