261 lines
8.4 KiB
Django/Jinja
261 lines
8.4 KiB
Django/Jinja
|
||
{% if vim_modeline %}
|
||
set modeline
|
||
set modelines={{vim_modelines}}
|
||
{% endif %}
|
||
|
||
{% if vim.syntax %}
|
||
syntax on
|
||
{%endif%}
|
||
|
||
set t_Co=256
|
||
|
||
":set nu
|
||
set backupdir=$HOME/tmp
|
||
set dir=$HOME/tmp
|
||
|
||
" Wild menu
|
||
set wildmenu
|
||
set wildmode=longest:list
|
||
|
||
" Redefine <Leader> key in vim
|
||
let mapleader = ","
|
||
|
||
set colorcolumn=80,120
|
||
nnoremap <Leader>c :set cursorline! cursorcolumn!<CR>
|
||
"autocmd WinEnter * setlocal cursorline
|
||
"autocmd WinLeave * setlocal nocursorline
|
||
|
||
nmap <F4> :w<CR>:make<CR>:cw<CR>
|
||
|
||
" Make sure that your status line is always shown as the second last line in
|
||
" the editor window:
|
||
set laststatus=2
|
||
|
||
|
||
" Folds
|
||
" =====
|
||
|
||
set foldmethod=indent " Fold based on indent
|
||
set foldnestmax=3 " Deepest fold is 3 levels
|
||
set nofoldenable " Don't fold by default
|
||
set foldcolumn=2
|
||
set foldmethod=marker
|
||
|
||
" Spell check parameters
|
||
set spelllang=fr_FR
|
||
set spellfile=$HOME/.vim/spell/generic.fr.add
|
||
highlight SpellBad ctermfg=NONE ctermbg=NONE cterm=underline,bold
|
||
highlight SpellCap ctermfg=NONE ctermbg=NONE cterm=underline,bold
|
||
highlight SpellLocal ctermfg=NONE ctermbg=NONE cterm=underline,bold
|
||
highlight MatchParen cterm=bold ctermfg=NONE ctermbg=NONE
|
||
|
||
" Number of visible lines to keep above/below the cursor
|
||
set scrolloff=3
|
||
|
||
" Show cursor position (line, col)
|
||
set ruler
|
||
|
||
|
||
set list
|
||
|
||
"set smarttab softtabstop=8 tabstop=8 shiftwidth=4 noexpandtab list
|
||
set listchars=tab:~.,trail:.,nbsp:<3A>
|
||
|
||
" Mouse parameters
|
||
" ================
|
||
|
||
" mouse parameters
|
||
set mouse=a
|
||
|
||
" send more characters for redraw
|
||
set ttyfast
|
||
|
||
" Set this to the name of your terminal that supports mouse codes.
|
||
" Must be one of: xterm, xterm2, netterm, dec, jsbterm, pterm
|
||
set ttymouse=xterm2
|
||
|
||
if !has("compatible")
|
||
call pathogen#infect()
|
||
|
||
" Disable views when using Rails plugin
|
||
"" autocmd BufWinLeave * silent! mkview
|
||
"" autocmd BufWinEnter * silent! loadview
|
||
|
||
"autocmd BufReadPost *
|
||
" \ if line("'\"") > 0 && line("'\"") <= line("$") |
|
||
" \ exe "normal g`\"" |
|
||
" \ endif
|
||
|
||
filetype plugin indent on
|
||
filetype plugin on
|
||
|
||
" Text indent, tab, width
|
||
set noexpandtab
|
||
set copyindent
|
||
set preserveindent
|
||
set softtabstop=0
|
||
set shiftwidth=4
|
||
set tabstop=4
|
||
|
||
autocmd BufRead mutt* syntax on
|
||
autocmd BufRead mutt* set ft=mail
|
||
autocmd BufRead mutt* set textwidth=72
|
||
autocmd BufRead mutt* set wrap
|
||
|
||
autocmd BufNewFile,BufRead *.t2t set ft=txt2tags
|
||
autocmd BufNewFile,BufRead *.md set ft=markdown
|
||
|
||
let g:pencil#wrapModeDefault = 'soft' " default is 'hard'
|
||
|
||
augroup pencil
|
||
autocmd!
|
||
autocmd FileType markdown,mkd call pencil#init()
|
||
autocmd FileType text call pencil#init()
|
||
augroup END
|
||
|
||
autocmd FileType css,scss,less set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType javascript set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType markdown set tabstop=4 shiftwidth=4 softtabstop=0 nosmarttab expandtab list textwidth=0
|
||
autocmd FileType haml set tabstop=2 shiftwidth=2 softtabstop=0 nosmarttab expandtab list textwidth=0
|
||
autocmd FileType xhtml,html set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType c set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType cpp set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType java set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType python set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab list textwidth=0
|
||
autocmd FileType ruby set tabstop=2 shiftwidth=2 softtabstop=0 smarttab expandtab nolist textwidth=0
|
||
autocmd FileType php set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType sh set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd FileType make set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab list textwidth=0
|
||
autocmd FileType xsd,xml set tabstop=4 shiftwidth=4 softtabstop=0 smarttab noexpandtab nolist textwidth=0
|
||
autocmd BufRead,BufNewFile /tmp/mutt-* source $HOME/.vim/mutt.colors
|
||
|
||
"autocmd FileType python set
|
||
"\ softtabstop=4
|
||
" \ autoindent
|
||
" \ smartindent
|
||
|
||
autocmd BufNewFile,BufRead *
|
||
\ syntax match GNUX_TAGS /FIXME\s*:/ containedin=ALL contained |
|
||
\ syntax match GNUX_TAGS /TOREAD\s*:/ containedin=ALL contained |
|
||
\ highlight GNUX_TAGS ctermbg=darkred ctermfg=green
|
||
endif
|
||
|
||
"autocmd FileType python source ~/.vim/scripts/python.vim
|
||
highlight Folded guibg=gray15 guifg=gray50
|
||
|
||
|
||
highlight TabLine term=none cterm=none
|
||
"highlight TabLineSel ctermbg=darkred
|
||
|
||
syntax match TAB_CHAR /^[ ]*/
|
||
"syntax match TAB_CHAR /\t/
|
||
highlight link TAB_CHAR Error
|
||
|
||
"set cursorline
|
||
"highlight CursorLine term=reverse cterm=reverse
|
||
"au FileType haskell,vhdl,ada,ocaml let b:comment_leader = '-- '
|
||
"au FileType vim let b:comment_leader = '" '
|
||
"au FileType c,cpp,java let b:comment_leader = '// '
|
||
"au FileType sh,make let b:comment_leader = '# '
|
||
"au FileType tex let b:comment_leader = '% '
|
||
"noremap <silent> ,c :<C-B>sil <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:noh<CR>
|
||
"noremap <silent> ,u :<C-B>sil <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:noh<CR>
|
||
|
||
"set background=dark
|
||
"highlight PreProc ctermfg=5 cterm=bold "cyan
|
||
"highlight Comment ctermfg=9 "bright red
|
||
"highlight String ctermfg=7 "dark white
|
||
"highlight Normal guibg=Black guifg=White
|
||
|
||
" Display settings
|
||
"set background=light
|
||
set background=dark
|
||
"let g:solarized_termcolors=256
|
||
colorscheme desert
|
||
set guifont=DejaVu\ Sans\ Mono\ 9
|
||
hi CursorLine cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
|
||
hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
|
||
|
||
set guifont=DejaVu\ Sans\ Mono\ 11
|
||
|
||
" NERDTree : Set NERDTree position
|
||
let NERDTreeWinPos="left"
|
||
|
||
" NERDTree : Use as expected with mouse, (dir => single clic, file => double clic)
|
||
let NERDTreeMouseMode=2
|
||
|
||
" NERDTree : Run at startup
|
||
autocmd vimenter * NERDTree
|
||
|
||
" NERDTree : Force focus to right buffer
|
||
autocmd vimenter * wincmd p
|
||
|
||
" NERDTree : automatically close if it is the last window remaining
|
||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
|
||
|
||
" NERDTree : map to ,nt
|
||
nnoremap <Leader>nt :NERDTreeToggle<CR>
|
||
nnoremap <Leader>nf :NERDTreeFind<CR>
|
||
|
||
" RainbowParenthesesActivate
|
||
" autocmd VimEnter * RainbowParenthesesActivate
|
||
au VimEnter * RainbowParenthesesToggle
|
||
au Syntax * RainbowParenthesesLoadRound
|
||
au Syntax * RainbowParenthesesLoadSquare
|
||
au Syntax * RainbowParenthesesLoadBraces
|
||
|
||
|
||
" Fugitive : set key mapping
|
||
nnoremap <Leader>gb :Gblame<CR>
|
||
nnoremap <Leader>gs :Gstatus<CR>
|
||
nnoremap <Leader>gd :Gdiff<Space>
|
||
nnoremap <Leader>gw :Gwrite<Space>
|
||
|
||
" Rails : set key mapping
|
||
nnoremap <Leader>rc :Rcontroller<CR>
|
||
nnoremap <Leader>rv :Rview <cword><CR>
|
||
nnoremap <Leader>rh :Rhelper <cword><CR>
|
||
nnoremap <Leader>rm :Rmodel<CR>
|
||
nnoremap <Leader>rs :Emodel<CR>
|
||
|
||
|
||
" Buffer management : show buffer list & choose
|
||
nnoremap <F5> :buffers<CR>:buffer<Space>
|
||
|
||
" ## added by OPAM user-setup for vim / base ## 8a3125e39f347f6b9a1b167d8e564281 ## you can edit, but keep this line
|
||
let s:opam_share_dir = system("opam config var share")
|
||
let s:opam_share_dir = substitute(s:opam_share_dir, '[\r\n]*$', '', '')
|
||
|
||
let s:opam_configuration = {}
|
||
|
||
function! OpamConfOcpIndent()
|
||
let l:file = s:opam_share_dir . "/vim/syntax/ocp-indent.vim"
|
||
execute "source " . l:file
|
||
endfunction
|
||
let s:opam_configuration['ocp-indent'] = function('OpamConfOcpIndent')
|
||
|
||
function! OpamConfOcpIndex()
|
||
let l:dir = s:opam_share_dir . "/ocp-index/vim"
|
||
execute "set rtp+=" . l:dir
|
||
endfunction
|
||
let s:opam_configuration['ocp-index'] = function('OpamConfOcpIndex')
|
||
|
||
function! OpamConfMerlin()
|
||
let l:dir = s:opam_share_dir . "/merlin/vim"
|
||
execute "set rtp+=" . l:dir
|
||
endfunction
|
||
let s:opam_configuration['merlin'] = function('OpamConfMerlin')
|
||
|
||
let s:opam_packages = ["ocp-indent", "ocp-index", "merlin"]
|
||
let s:opam_check_cmdline = ["opam list --installed --short --safe --color=never"] + s:opam_packages
|
||
let s:opam_available_tools = split(system(join(s:opam_check_cmdline, ' ')))
|
||
for tool in s:opam_available_tools
|
||
call s:opam_configuration[tool]()
|
||
endfor
|
||
" ## end of OPAM user-setup addition for vim / base ## keep this line
|
||
|
||
" Ocaml Type Annotation
|
||
nnoremap <F2> :MerlinTypeOf<CR>
|
||
nnoremap <F3> :MerlinTypeOf<CR>
|
||
|