X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.vimrc;h=745587a5e393214248f73fe86e1bf5a61a42bc26;hb=46454f2d385f4083f305c456a173866d0f557edf;hp=d86e0bb8c1843ea9ce3753d0cc8375455cc5726c;hpb=1b460061e9e2a7bb725ff6825f709d16072d9071;p=dotfiles.git diff --git a/.vimrc b/.vimrc index d86e0bb..745587a 100644 --- a/.vimrc +++ b/.vimrc @@ -55,6 +55,7 @@ set sidescroll=1 " The minimal number of columns to scroll horizontally " 5 highlighting +colorscheme phd set nohlsearch " Stop the search highlighting " 6 multiple windows @@ -71,6 +72,10 @@ set ttyfast " terminal connection is fast set title " Set title to the value of 'titlestring' or to 'filename - VIM' set titleold= " string to restore the title to when exiting Vim +" String to use for the Vim window title; with statusline printf items: +" display filename, modification flag, full path, argument list status, +" the current user, host and program name (to distinguish vim/view/etc). +set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)\ -\ [%{$USER}@%{hostname()}]\ %{v:progname} " 9 using the mouse @@ -111,7 +116,25 @@ set noautoindent " Do not automatically set the indent of a new line " 18 mapping -set timeout timeoutlen=3000 " allow timing out up to 3 seconds halfway into a mapping +set timeout timeoutlen=3000 ttimeoutlen=100 " allow timing out up to 3 seconds halfway into a mapping; 100 ms to wait for a key code or mapped key sequence to complete + +" 19 reading and writing files +if v:version >= 703 + set cryptmethod=blowfish " encryption method for file writing: zip or blowfish +endif + +" 20 the swap file + +" list of directories for the swap file; remove . (the current directory) +if has("win32") + set directory=$TEMP//,c:/tmp//,c:/temp// +else + set directory=~/tmp/vim//,~/tmp//,/var/tmp//,/tmp// +endif +" if a directory ends in two path separators "//" +" or "\\", the swap file name will be built from the complete path to +" the file with all path separators substituted to percent '%' signs. +" This will ensure file name uniqueness in the preserve directory. " 21 command line editing @@ -121,6 +144,15 @@ set wildignore+=*.py[co] " Ignore these patterns when completing file names set wildmenu " command-line completion shows a list of matches set wildmode=longest,list:longest,full " Bash-vim completion behavior +" Keep undo history across sessions by storing it in a file +if has('persistent_undo') + let myUndoDir = expand('$HOME/tmp/vim/undo') + " Create dirs + call system('mkdir -p ' . myUndoDir) + let &undodir = myUndoDir + set undofile +endif + " 22 executing external commands if has("filterpipe") @@ -169,25 +201,12 @@ if has("gui_running") set toolbar=icons,text " how to show the toolbar endif - " set guicursor+=a:blinkon0 " Stop cursor blinking + set guicursor+=a:blinkon0 " Stop cursor blinking " Make shift-insert work like in Xterm " map " map! - - " Set nice colors - " Background for normal text is light grey - " Cursor is green - " Text below the last line is darker grey - " Status line is bright white on blue - highlight Normal guibg=grey90 - highlight Cursor guibg=green guifg=NONE - highlight NonText guibg=grey80 - highlight Constant guibg=grey90 - highlight Special gui=NONE guibg=grey90 - highlight StatusLine gui=bold guifg=white guibg=blue - " ---------- " From http://slobin.pp.ru/vim/_vimrc.html @@ -198,19 +217,14 @@ if has("gui_running") " The key should select from completion menu without adding a newline imap pumvisible() ? "" : "" " ---------- -else +else if (&term =~ "linux") || ($BACKGROUND == 'DARK') || ($BACKGROUND == 'dark') \ || has("win32") " Background of the terminal is black or dark grey set background=dark - highlight MoreMsg ctermfg=white - highlight ModeMsg ctermfg=white - highlight Question ctermfg=white else set background=light - highlight MoreMsg cterm=bold ctermfg=NONE - highlight Question cterm=bold ctermfg=NONE endif if (&term =~ "linux") @@ -238,7 +252,7 @@ else endif if (&term =~ "screen") - set ttymouse=xterm " Enable mouse codes under GNU screen + set ttymouse=xterm2 " Enable mouse codes under screen/tmux if empty(&t_ts) " Enable window title under screen/tmux let &t_ts = "\e]2;" @@ -247,10 +261,6 @@ else endif endif -highlight SpellBad term=underline cterm=NONE ctermfg=white ctermbg=red guifg=white guibg=red " gui=undercurl guisp=red -highlight StatusLine cterm=bold ctermfg=white ctermbg=blue gui=NONE guifg=white guibg=blue -highlight Visual cterm=NONE ctermfg=white ctermbg=blue gui=NONE guifg=white guibg=blue " Selection highlighting - " Multiline comments often confuse vim syntax highlighting - these maps " allow to resynchronize; the first is faster, the second is more thorough nmap \sc :syntax sync clear @@ -262,12 +272,16 @@ nmap \ss :syntax sync fromstart " Enable filetype detection filetype plugin indent on +runtime macros/matchit.vim + " Reread me after editing autocmd BufWritePost ~/.vimrc source ~/.vimrc | syntax on if version >= 700 " Save all files before running any quickfix command (grep, makeprg, etc.) autocmd QuickFixCmdPre * wall +" automatically close quickfix if it's the only window left +autocmd WinEnter * if winnr('$') == 1 && &buftype == "quickfix" | quit | endif endif " Syntax highlighting @@ -522,6 +536,19 @@ if exists("$SLOWTERM") endif +if has("python") +python << END_OF_PYTHON +import sys, os + +virtualenv_dir = os.environ.get('VIRTUAL_ENV') +if virtualenv_dir: + sys.path.insert(0, virtualenv_dir) + activate_this = os.path.join(virtualenv_dir, 'bin', 'activate_this.py') + execfile(activate_this, dict(__file__=activate_this)) +END_OF_PYTHON +endif + + " ---------- " From http://slobin.pp.ru/vim/_vimrc.html