]> git.rmz.io Git - dotfiles.git/commitdiff
vim: split options into its own fold
authorSamir Benmendil <samir.benmendil@gmail.com>
Thu, 31 Jul 2014 11:00:25 +0000 (12:00 +0100)
committerSamir Benmendil <samir.benmendil@gmail.com>
Sun, 24 Aug 2014 00:27:59 +0000 (01:27 +0100)
vim/vimrc

index 8de988ac6be5a1d62341cc5f34418baf8aa0c394..ab6026046a43d55e4deaa694f7e50c2717a7c811 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -61,12 +61,6 @@ filetype plugin indent on
 map <space> <leader>
 nnoremap <leader><cr> :make<cr>
 
-" 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 <silent> <Leader>n :silent nohl<CR>
 " use leader-# to display the number of matches for the last search
@@ -92,24 +86,6 @@ cnoremap <C-J>   <Down>
 cnoremap <C-H>   <Left>
 cnoremap <C-L>   <Right>
 
-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 <silent> <Leader>u :exe "set relativenumber!"<CR>
 
@@ -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 <F1> :ls<CR>:b<space>
 
 nmap <C-L> <C-W>w
 nmap <C-H> <C-W>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 <MiddleMouse> i<MiddleMouse>
 vnoremap <MiddleMouse> s<MiddleMouse>
 
-" 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 <C-U> <C-G>u<C-U>
 inoremap <C-W> <C-G>u<C-W>
 
-" tabs and indent {{{1
+nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
+nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
+nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
+nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
+
+" space will toggle current fold in normal mode
+nnoremap <leader><Space> za
+" create folds around visual selection
+vnoremap <leader><Space> 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 <Tab> in an indent inserts 'shiftwidth' spaces
 set softtabstop=4               " if non-zero, number of spaces to insert for a <Tab>
@@ -231,26 +251,14 @@ set cinoptions=l1,c4,(0,U1,w1,m1,j1,J1
 
 set pastetoggle=<F11>           " key sequence to toggle paste mode
 
-nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
-nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
-nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
-nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
-
-" 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 <leader><Space> za
-" create folds around visual selection
-vnoremap <leader><Space> 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 <C-V> 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 <silent> <leader>gs :Gstatus<CR>
 nnoremap <silent> <leader>gd :Gdiff<CR>
 nnoremap <silent> <leader>gc :tab Gcommit -v<CR>
+nnoremap <silent> <leader>gw :Gwrite<cr>
 
 " NERDTree {{{2
 " open/close NERDTree with \e