2010-04-20 16:08:48 +00:00
|
|
|
|
" Modeline and Notes {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" vim: set sw=4 ts=4 sts=4 et tw=78 foldmarker={,} foldlevel=0 foldmethod=marker spell:
|
2010-04-20 16:08:48 +00:00
|
|
|
|
"
|
2012-01-12 07:28:27 +00:00
|
|
|
|
" __ _ _____ _
|
|
|
|
|
" ___ _ __ / _/ |___ / __ __(_)_ __ ___
|
|
|
|
|
" / __| '_ \| |_| | |_ \ _____\ \ / /| | '_ ` _ \
|
|
|
|
|
" \__ \ |_) | _| |___) |_____|\ V / | | | | | | |
|
|
|
|
|
" |___/ .__/|_| |_|____/ \_/ |_|_| |_| |_|
|
|
|
|
|
" |_|
|
|
|
|
|
"
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" This is the personal .vimrc file of Steve Francia.
|
|
|
|
|
" While much of it is beneficial for general use, I would
|
|
|
|
|
" recommend picking out the parts you want and understand.
|
2010-04-20 16:08:48 +00:00
|
|
|
|
"
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" You can find me at http://spf13.com
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
2010-10-02 12:25:10 +00:00
|
|
|
|
" Environment {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Basics {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set nocompatible " Must be first line
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Windows Compatible {
|
|
|
|
|
" On Windows, also use '.vim' instead of 'vimfiles'; this makes synchronization
|
2012-04-18 09:06:30 +00:00
|
|
|
|
" across (heterogeneous) systems easier.
|
2011-12-10 20:10:06 +00:00
|
|
|
|
if has('win32') || has('win64')
|
|
|
|
|
set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after
|
|
|
|
|
endif
|
|
|
|
|
" }
|
2012-10-12 16:46:17 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Setup Bundle Support {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" The next three lines ensure that the ~/.vim/bundle/ system works
|
2012-10-12 16:28:25 +00:00
|
|
|
|
filetype on
|
2012-09-10 17:12:22 +00:00
|
|
|
|
filetype off
|
2011-11-20 05:18:03 +00:00
|
|
|
|
set rtp+=~/.vim/bundle/vundle
|
2011-05-17 19:40:32 +00:00
|
|
|
|
call vundle#rc()
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
2011-03-02 18:57:03 +00:00
|
|
|
|
|
2011-02-23 00:10:22 +00:00
|
|
|
|
" }
|
2010-04-23 21:07:12 +00:00
|
|
|
|
|
2011-05-17 19:40:32 +00:00
|
|
|
|
" Bundles {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2012-01-28 06:22:33 +00:00
|
|
|
|
" Use local bundles if available {
|
2012-09-23 02:59:07 +00:00
|
|
|
|
if filereadable(expand("~/.vimrc.bundles.local"))
|
|
|
|
|
source ~/.vimrc.bundles.local
|
|
|
|
|
endif
|
|
|
|
|
" }
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2012-09-27 04:46:17 +00:00
|
|
|
|
" Use fork bundles if available {
|
|
|
|
|
if filereadable(expand("~/.vimrc.bundles.fork"))
|
|
|
|
|
source ~/.vimrc.bundles.fork
|
|
|
|
|
endif
|
|
|
|
|
" }
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2012-09-23 02:59:07 +00:00
|
|
|
|
" Use bundles config {
|
2012-09-19 13:34:47 +00:00
|
|
|
|
if filereadable(expand("~/.vimrc.bundles"))
|
|
|
|
|
source ~/.vimrc.bundles
|
2012-01-28 06:22:33 +00:00
|
|
|
|
endif
|
|
|
|
|
" }
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2011-05-17 19:40:32 +00:00
|
|
|
|
" }
|
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" General {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
set background=dark " Assume a dark background
|
2011-06-20 14:24:59 +00:00
|
|
|
|
if !has('gui')
|
2012-02-08 03:11:37 +00:00
|
|
|
|
"set term=$TERM " Make arrow and other keys work
|
2011-02-28 21:19:21 +00:00
|
|
|
|
endif
|
2011-12-10 20:10:06 +00:00
|
|
|
|
filetype plugin indent on " Automatically detect file types.
|
2013-01-05 07:59:43 +00:00
|
|
|
|
syntax on " Syntax highlighting
|
|
|
|
|
set mouse=a " Automatically enable mouse usage
|
|
|
|
|
set mousehide " Hide the mouse cursor while typing
|
2011-12-10 20:10:06 +00:00
|
|
|
|
scriptencoding utf-8
|
2012-09-27 04:04:51 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
if has ('x') && has ('gui') " On Linux use + register for copy-paste
|
2012-11-28 23:11:14 +00:00
|
|
|
|
set clipboard=unnamedplus
|
2013-01-05 07:59:43 +00:00
|
|
|
|
elseif has ('gui') " On mac and Windows, use * register for copy-paste
|
2012-11-28 23:11:14 +00:00
|
|
|
|
set clipboard=unnamed
|
|
|
|
|
endif
|
|
|
|
|
|
2012-09-27 04:04:51 +00:00
|
|
|
|
" Most prefer to automatically switch to the current file directory when
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" a new buffer is opened; to prevent this behavior, add the following to
|
|
|
|
|
" your .vimrc.bundles.local file:
|
|
|
|
|
" let g:spf13_no_autochdir = 1
|
2012-09-27 04:04:51 +00:00
|
|
|
|
if !exists('g:spf13_no_autochdir')
|
|
|
|
|
autocmd BufEnter * if bufname("") !~ "^\[A-Za-z0-9\]*://" | lcd %:p:h | endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Always switch to the current file directory
|
2012-09-27 04:04:51 +00:00
|
|
|
|
endif
|
2011-02-23 00:10:22 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
"set autowrite " Automatically write a file when leaving a modified buffer
|
|
|
|
|
set shortmess+=filmnrxoOtT " Abbrev. of messages (avoids 'hit enter')
|
|
|
|
|
set viewoptions=folds,options,cursor,unix,slash " Better Unix / Windows compatibility
|
|
|
|
|
set virtualedit=onemore " Allow for cursor beyond last character
|
|
|
|
|
set history=1000 " Store a ton of history (default is 20)
|
|
|
|
|
set spell " Spell checking on
|
|
|
|
|
set hidden " Allow buffer switching without saving
|
2011-06-20 14:24:59 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Setting up the directories {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set backup " Backups are nice ...
|
2012-02-15 20:19:28 +00:00
|
|
|
|
if has('persistent_undo')
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set undofile " So is persistent undo ...
|
|
|
|
|
set undolevels=1000 " Maximum number of changes that can be undone
|
|
|
|
|
set undoreload=10000 " Maximum number lines to save for undo on a buffer reload
|
2012-02-15 20:19:28 +00:00
|
|
|
|
endif
|
2012-09-10 00:44:39 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" To disable views add the following to your .vimrc.bundles.local file:
|
|
|
|
|
" let g:spf13_no_views = 1
|
|
|
|
|
if !exists('g:spf13_no_views')
|
|
|
|
|
" Add exclusions to mkview and loadview
|
|
|
|
|
" eg: *.*, svn-commit.tmp
|
|
|
|
|
let g:skipview_files = [
|
|
|
|
|
\ '\[example pattern\]'
|
|
|
|
|
\ ]
|
|
|
|
|
endif
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Vim UI {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2012-04-18 09:06:30 +00:00
|
|
|
|
if filereadable(expand("~/.vim/bundle/vim-colors-solarized/colors/solarized.vim"))
|
2012-08-17 08:01:40 +00:00
|
|
|
|
let g:solarized_termcolors=256
|
2013-01-05 07:59:43 +00:00
|
|
|
|
color solarized " Load a colorscheme
|
2012-04-10 19:33:34 +00:00
|
|
|
|
endif
|
2012-01-28 06:22:33 +00:00
|
|
|
|
let g:solarized_termtrans=1
|
|
|
|
|
let g:solarized_contrast="high"
|
|
|
|
|
let g:solarized_visibility="high"
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set tabpagemax=15 " Only show 15 tabs
|
|
|
|
|
set showmode " Display the current mode
|
2011-12-10 20:10:06 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set cursorline " Highlight current line
|
2011-12-10 20:10:06 +00:00
|
|
|
|
|
2013-03-06 04:16:59 +00:00
|
|
|
|
highlight clear SignColumn " SignColumn should match background for
|
|
|
|
|
" things like vim-gitgutter
|
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
if has('cmdline_info')
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set ruler " Show the ruler
|
|
|
|
|
set rulerformat=%30(%=\:b%n%y%m%r%w\ %l,%c%V\ %P%) " A ruler on steroids
|
|
|
|
|
set showcmd " Show partial commands in status line and
|
|
|
|
|
" Selected characters/lines in visual mode
|
2011-12-10 20:10:06 +00:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
if has('statusline')
|
2011-02-23 00:10:22 +00:00
|
|
|
|
set laststatus=2
|
2011-02-25 23:07:07 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Broken down into easily includeable segments
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set statusline=%<%f\ " Filename
|
|
|
|
|
set statusline+=%w%h%m%r " Options
|
|
|
|
|
set statusline+=%{fugitive#statusline()} " Git Hotness
|
|
|
|
|
set statusline+=\ [%{&ff}/%Y] " Filetype
|
|
|
|
|
set statusline+=\ [%{getcwd()}] " Current dir
|
2011-12-10 20:10:06 +00:00
|
|
|
|
set statusline+=%=%-14.(%l,%c%V%)\ %p%% " Right aligned file nav info
|
|
|
|
|
endif
|
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set backspace=indent,eol,start " Backspace for dummies
|
2011-12-10 20:10:06 +00:00
|
|
|
|
set linespace=0 " No extra spaces between rows
|
|
|
|
|
set nu " Line numbers on
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set showmatch " Show matching brackets/parenthesis
|
|
|
|
|
set incsearch " Find as you type search
|
|
|
|
|
set hlsearch " Highlight search terms
|
|
|
|
|
set winminheight=0 " Windows can be 0 line high
|
|
|
|
|
set ignorecase " Case insensitive search
|
|
|
|
|
set smartcase " Case sensitive when uc present
|
|
|
|
|
set wildmenu " Show list instead of just completing
|
|
|
|
|
set wildmode=list:longest,full " Command <Tab> completion, list matches, then longest common part, then all.
|
|
|
|
|
set whichwrap=b,s,h,l,<,>,[,] " Backspace and cursor keys wrap too
|
|
|
|
|
set scrolljump=5 " Lines to scroll when cursor leaves screen
|
|
|
|
|
set scrolloff=3 " Minimum lines to keep above and below cursor
|
|
|
|
|
set foldenable " Auto fold code
|
2011-04-25 12:20:57 +00:00
|
|
|
|
set list
|
2011-10-05 03:44:09 +00:00
|
|
|
|
set listchars=tab:,.,trail:.,extends:#,nbsp:. " Highlight problematic whitespace
|
2011-04-25 12:20:57 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Formatting {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
|
|
|
|
set nowrap " Wrap long lines
|
|
|
|
|
set autoindent " Indent at the same level of the previous line
|
|
|
|
|
set shiftwidth=4 " Use indents of 4 spaces
|
|
|
|
|
set expandtab " Tabs are spaces, not tabs
|
|
|
|
|
set tabstop=4 " An indentation every four columns
|
|
|
|
|
set softtabstop=4 " Let backspace delete indent
|
|
|
|
|
"set matchpairs+=<:> " Match, to be used with %
|
2011-12-10 20:10:06 +00:00
|
|
|
|
set pastetoggle=<F12> " pastetoggle (sane indentation on pastes)
|
|
|
|
|
"set comments=sl:/*,mb:*,elx:*/ " auto format comment blocks
|
|
|
|
|
" Remove trailing whitespaces and ^M chars
|
2013-03-19 20:49:56 +00:00
|
|
|
|
autocmd FileType c,cpp,java,go,php,javascript,python,twig,xml,yml autocmd BufWritePre <buffer> call StripTrailingWhitespace()
|
|
|
|
|
autocmd FileType go autocmd BufWritePre <buffer> Fmt
|
2012-08-29 20:32:34 +00:00
|
|
|
|
autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
2011-02-23 00:10:22 +00:00
|
|
|
|
" Key (re)Mappings {
|
2010-04-20 16:08:48 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" The default leader is '\', but many people prefer ',' as it's in a standard
|
|
|
|
|
" location. To override this behavior and set it back to '\' (or any other
|
|
|
|
|
" character) add the following to your .vimrc.bundles.local file:
|
|
|
|
|
" let g:spf13_leader='\'
|
2012-09-27 04:04:51 +00:00
|
|
|
|
if !exists('g:spf13_leader')
|
|
|
|
|
let mapleader = ','
|
|
|
|
|
else
|
|
|
|
|
let mapleader=g:spf13_leader
|
|
|
|
|
endif
|
2010-10-08 12:41:13 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Easier moving in tabs and windows
|
2013-02-19 15:31:51 +00:00
|
|
|
|
" The lines conflict with the default digraph mapping of <C-K>
|
|
|
|
|
" If you prefer that functionality, add let g:spf13_no_easyWindows = 1
|
|
|
|
|
" in your .vimrc.bundles.local file
|
|
|
|
|
|
|
|
|
|
if !exists('g:spf13_no_easyWindows')
|
|
|
|
|
map <C-J> <C-W>j<C-W>_
|
|
|
|
|
map <C-K> <C-W>k<C-W>_
|
|
|
|
|
map <C-L> <C-W>l<C-W>_
|
|
|
|
|
map <C-H> <C-W>h<C-W>_
|
|
|
|
|
endif
|
2011-12-11 06:34:50 +00:00
|
|
|
|
|
2011-04-25 12:20:57 +00:00
|
|
|
|
" Wrapped lines goes down/up to next row, rather than next line in file.
|
|
|
|
|
nnoremap j gj
|
|
|
|
|
nnoremap k gk
|
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" The following two lines conflict with moving to top and
|
|
|
|
|
" bottom of the screen
|
|
|
|
|
" If you prefer that functionality, add the following to your
|
|
|
|
|
" .vimrc.bundles.local file:
|
|
|
|
|
" let g:spf13_no_fastTabs = 1
|
2012-09-27 04:04:51 +00:00
|
|
|
|
if !exists('g:spf13_no_fastTabs')
|
|
|
|
|
map <S-H> gT
|
|
|
|
|
map <S-L> gt
|
2012-09-10 17:58:46 +00:00
|
|
|
|
endif
|
|
|
|
|
|
2012-09-27 04:04:51 +00:00
|
|
|
|
" Stupid shift key fixes
|
|
|
|
|
if !exists('g:spf13_no_keyfixes')
|
|
|
|
|
if has("user_commands")
|
|
|
|
|
command! -bang -nargs=* -complete=file E e<bang> <args>
|
|
|
|
|
command! -bang -nargs=* -complete=file W w<bang> <args>
|
|
|
|
|
command! -bang -nargs=* -complete=file Wq wq<bang> <args>
|
|
|
|
|
command! -bang -nargs=* -complete=file WQ wq<bang> <args>
|
|
|
|
|
command! -bang Wa wa<bang>
|
|
|
|
|
command! -bang WA wa<bang>
|
|
|
|
|
command! -bang Q q<bang>
|
|
|
|
|
command! -bang QA qa<bang>
|
|
|
|
|
command! -bang Qa qa<bang>
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
cmap Tabe tabe
|
|
|
|
|
endif
|
2011-12-10 20:10:06 +00:00
|
|
|
|
|
|
|
|
|
" Yank from the cursor to the end of the line, to be consistent with C and D.
|
|
|
|
|
nnoremap Y y$
|
2011-12-11 06:34:50 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Code folding options
|
2011-12-10 20:10:06 +00:00
|
|
|
|
nmap <leader>f0 :set foldlevel=0<CR>
|
|
|
|
|
nmap <leader>f1 :set foldlevel=1<CR>
|
|
|
|
|
nmap <leader>f2 :set foldlevel=2<CR>
|
|
|
|
|
nmap <leader>f3 :set foldlevel=3<CR>
|
|
|
|
|
nmap <leader>f4 :set foldlevel=4<CR>
|
|
|
|
|
nmap <leader>f5 :set foldlevel=5<CR>
|
|
|
|
|
nmap <leader>f6 :set foldlevel=6<CR>
|
|
|
|
|
nmap <leader>f7 :set foldlevel=7<CR>
|
|
|
|
|
nmap <leader>f8 :set foldlevel=8<CR>
|
|
|
|
|
nmap <leader>f9 :set foldlevel=9<CR>
|
2010-05-16 03:57:04 +00:00
|
|
|
|
|
2012-12-22 17:12:51 +00:00
|
|
|
|
" Toggle search highlighting
|
|
|
|
|
nmap <silent> <leader>/ :set invhlsearch<CR>
|
2011-04-25 12:20:57 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Shortcuts
|
|
|
|
|
" Change Working Directory to that of the current file
|
2010-05-16 03:57:04 +00:00
|
|
|
|
cmap cwd lcd %:p:h
|
2011-12-10 20:10:06 +00:00
|
|
|
|
cmap cd. lcd %:p:h
|
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Visual shifting (does not exit Visual mode)
|
2011-12-10 20:10:06 +00:00
|
|
|
|
vnoremap < <gv
|
2012-04-18 09:06:30 +00:00
|
|
|
|
vnoremap > >gv
|
2011-12-10 20:10:06 +00:00
|
|
|
|
|
|
|
|
|
" Fix home and end keybindings for screen, particularly on mac
|
|
|
|
|
" - for some reason this fixes the arrow keys too. huh.
|
|
|
|
|
map [F $
|
|
|
|
|
imap [F $
|
|
|
|
|
map [H g0
|
|
|
|
|
imap [H g0
|
2011-12-11 06:34:50 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" For when you forget to sudo.. Really Write the file.
|
|
|
|
|
cmap w!! w !sudo tee % >/dev/null
|
2012-01-28 06:22:33 +00:00
|
|
|
|
|
|
|
|
|
" Some helpers to edit mode
|
|
|
|
|
" http://vimcasts.org/e/14
|
|
|
|
|
cnoremap %% <C-R>=expand('%:h').'/'<cr>
|
|
|
|
|
map <leader>ew :e %%
|
|
|
|
|
map <leader>es :sp %%
|
|
|
|
|
map <leader>ev :vsp %%
|
|
|
|
|
map <leader>et :tabe %%
|
|
|
|
|
|
|
|
|
|
" Adjust viewports to the same size
|
|
|
|
|
map <Leader>= <C-w>=
|
2012-04-22 10:05:43 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Map <Leader>ff to display all lines with keyword under cursor
|
2012-11-10 17:25:02 +00:00
|
|
|
|
" and ask which one to jump to
|
2012-11-12 07:56:12 +00:00
|
|
|
|
nmap <Leader>ff [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>
|
2012-11-10 17:25:02 +00:00
|
|
|
|
|
2012-04-22 10:05:43 +00:00
|
|
|
|
" Easier horizontal scrolling
|
|
|
|
|
map zl zL
|
|
|
|
|
map zh zH
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Plugins {
|
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" PIV {
|
|
|
|
|
let g:DisableAutoPHPFolding = 0
|
2012-01-27 03:52:28 +00:00
|
|
|
|
let g:PIVAutoClose = 0
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
2011-05-20 12:36:38 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Misc {
|
|
|
|
|
let g:NERDShutUp=1
|
|
|
|
|
let b:match_ignorecase = 1
|
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" OmniComplete {
|
2011-05-17 23:57:54 +00:00
|
|
|
|
if has("autocmd") && exists("+omnifunc")
|
|
|
|
|
autocmd Filetype *
|
|
|
|
|
\if &omnifunc == "" |
|
|
|
|
|
\setlocal omnifunc=syntaxcomplete#Complete |
|
|
|
|
|
\endif
|
|
|
|
|
endif
|
2010-04-20 16:08:48 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
hi Pmenu guifg=#000000 guibg=#F8F8F8 ctermfg=black ctermbg=Lightgray
|
|
|
|
|
hi PmenuSbar guifg=#8A95A7 guibg=#F8F8F8 gui=NONE ctermfg=darkcyan ctermbg=lightgray cterm=NONE
|
|
|
|
|
hi PmenuThumb guifg=#F8F8F8 guibg=#8A95A7 gui=NONE ctermfg=lightgray ctermbg=darkcyan cterm=NONE
|
2010-04-20 16:08:48 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Some convenient mappings
|
2011-12-10 20:10:06 +00:00
|
|
|
|
inoremap <expr> <Esc> pumvisible() ? "\<C-e>" : "\<Esc>"
|
|
|
|
|
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
|
|
|
|
|
inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"
|
|
|
|
|
inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"
|
|
|
|
|
inoremap <expr> <C-d> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<C-d>"
|
|
|
|
|
inoremap <expr> <C-u> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<C-u>"
|
2010-04-20 16:08:48 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Automatically open and close the popup menu / preview window
|
2011-12-10 20:10:06 +00:00
|
|
|
|
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
|
|
|
|
|
set completeopt=menu,preview,longest
|
|
|
|
|
" }
|
2011-05-20 12:36:38 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" Ctags {
|
|
|
|
|
set tags=./tags;/,~/.vimtags
|
|
|
|
|
" }
|
2010-07-08 22:50:44 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" AutoCloseTag {
|
2011-05-18 22:11:40 +00:00
|
|
|
|
" Make it so AutoCloseTag works for xml and xhtml files as well
|
|
|
|
|
au FileType xhtml,xml ru ftplugin/html/autoclosetag.vim
|
|
|
|
|
nmap <Leader>ac <Plug>ToggleAutoCloseMappings
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
2010-04-20 16:08:48 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" SnipMate {
|
|
|
|
|
" Setting the author var
|
2011-02-23 00:10:22 +00:00
|
|
|
|
" If forking, please overwrite in your .vimrc.local file
|
2011-12-10 20:10:06 +00:00
|
|
|
|
let g:snips_author = 'Steve Francia <steve.francia@gmail.com>'
|
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" NerdTree {
|
|
|
|
|
map <C-e> :NERDTreeToggle<CR>:NERDTreeMirror<CR>
|
|
|
|
|
map <leader>e :NERDTreeFind<CR>
|
|
|
|
|
nmap <leader>nt :NERDTreeFind<CR>
|
|
|
|
|
|
|
|
|
|
let NERDTreeShowBookmarks=1
|
|
|
|
|
let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr']
|
|
|
|
|
let NERDTreeChDirMode=0
|
|
|
|
|
let NERDTreeQuitOnOpen=1
|
2012-09-27 17:14:44 +00:00
|
|
|
|
let NERDTreeMouseMode=2
|
2011-12-10 20:10:06 +00:00
|
|
|
|
let NERDTreeShowHidden=1
|
|
|
|
|
let NERDTreeKeepTreeInNewTab=1
|
2012-09-27 17:41:30 +00:00
|
|
|
|
let g:nerdtree_tabs_open_on_gui_startup=0
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" }
|
2011-05-20 12:36:38 +00:00
|
|
|
|
|
2011-05-05 14:24:50 +00:00
|
|
|
|
" Tabularize {
|
2012-12-22 19:27:09 +00:00
|
|
|
|
nmap <Leader>a& :Tabularize /&<CR>
|
|
|
|
|
vmap <Leader>a& :Tabularize /&<CR>
|
2012-10-15 18:04:33 +00:00
|
|
|
|
nmap <Leader>a= :Tabularize /=<CR>
|
|
|
|
|
vmap <Leader>a= :Tabularize /=<CR>
|
|
|
|
|
nmap <Leader>a: :Tabularize /:<CR>
|
|
|
|
|
vmap <Leader>a: :Tabularize /:<CR>
|
|
|
|
|
nmap <Leader>a:: :Tabularize /:\zs<CR>
|
|
|
|
|
vmap <Leader>a:: :Tabularize /:\zs<CR>
|
|
|
|
|
nmap <Leader>a, :Tabularize /,<CR>
|
|
|
|
|
vmap <Leader>a, :Tabularize /,<CR>
|
|
|
|
|
nmap <Leader>a<Bar> :Tabularize /<Bar><CR>
|
|
|
|
|
vmap <Leader>a<Bar> :Tabularize /<Bar><CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2011-05-05 14:24:50 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Session List {
|
2011-12-10 20:10:06 +00:00
|
|
|
|
set sessionoptions=blank,buffers,curdir,folds,tabpages,winsize
|
|
|
|
|
nmap <leader>sl :SessionList<CR>
|
|
|
|
|
nmap <leader>ss :SessionSave<CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2011-12-10 20:10:06 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" JSON {
|
2011-12-10 20:10:06 +00:00
|
|
|
|
nmap <leader>jt <Esc>:%!python -m json.tool<CR><Esc>:set filetype=json<CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2012-01-09 20:04:38 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" PyMode {
|
2012-01-12 07:28:27 +00:00
|
|
|
|
let g:pymode_lint_checker = "pyflakes"
|
2012-12-01 13:55:59 +00:00
|
|
|
|
let g:pymode_utils_whitespaces = 0
|
2013-02-09 16:24:36 +00:00
|
|
|
|
let g:pymode_options = 0
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2012-01-09 20:04:38 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" ctrlp {
|
2012-01-27 03:52:28 +00:00
|
|
|
|
let g:ctrlp_working_path_mode = 2
|
2012-01-28 06:22:33 +00:00
|
|
|
|
nnoremap <silent> <D-t> :CtrlP<CR>
|
|
|
|
|
nnoremap <silent> <D-r> :CtrlPMRU<CR>
|
2012-01-12 07:28:27 +00:00
|
|
|
|
let g:ctrlp_custom_ignore = {
|
|
|
|
|
\ 'dir': '\.git$\|\.hg$\|\.svn$',
|
|
|
|
|
\ 'file': '\.exe$\|\.so$\|\.dll$' }
|
2012-12-05 22:48:29 +00:00
|
|
|
|
|
|
|
|
|
let g:ctrlp_user_command = {
|
|
|
|
|
\ 'types': {
|
2012-12-19 15:59:56 +00:00
|
|
|
|
\ 1: ['.git', 'cd %s && git ls-files . --cached --exclude-standard --others'],
|
2012-12-05 22:48:29 +00:00
|
|
|
|
\ 2: ['.hg', 'hg --cwd %s locate -I .'],
|
|
|
|
|
\ },
|
|
|
|
|
\ 'fallback': 'find %s -type f'
|
|
|
|
|
\ }
|
2013-01-05 07:59:43 +00:00
|
|
|
|
"}
|
2012-01-28 06:22:33 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" TagBar {
|
2012-01-28 06:22:33 +00:00
|
|
|
|
nnoremap <silent> <leader>tt :TagbarToggle<CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
"}
|
2012-01-28 06:22:33 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" PythonMode {
|
|
|
|
|
" Disable if python support not present
|
2012-02-27 14:20:23 +00:00
|
|
|
|
if !has('python')
|
2013-01-05 07:59:43 +00:00
|
|
|
|
let g:pymode = 1
|
2012-03-07 23:52:15 +00:00
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2012-02-27 14:20:23 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Fugitive {
|
2012-01-28 06:22:33 +00:00
|
|
|
|
nnoremap <silent> <leader>gs :Gstatus<CR>
|
|
|
|
|
nnoremap <silent> <leader>gd :Gdiff<CR>
|
|
|
|
|
nnoremap <silent> <leader>gc :Gcommit<CR>
|
|
|
|
|
nnoremap <silent> <leader>gb :Gblame<CR>
|
|
|
|
|
nnoremap <silent> <leader>gl :Glog<CR>
|
|
|
|
|
nnoremap <silent> <leader>gp :Git push<CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
"}
|
2012-01-27 03:52:28 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" neocomplcache {
|
2012-11-26 19:15:58 +00:00
|
|
|
|
let g:acp_enableAtStartup = 0
|
|
|
|
|
let g:neocomplcache_enable_at_startup = 1
|
|
|
|
|
let g:neocomplcache_enable_camel_case_completion = 1
|
|
|
|
|
let g:neocomplcache_enable_smart_case = 1
|
|
|
|
|
let g:neocomplcache_enable_underbar_completion = 1
|
|
|
|
|
let g:neocomplcache_enable_auto_delimiter = 1
|
|
|
|
|
let g:neocomplcache_max_list = 15
|
|
|
|
|
let g:neocomplcache_force_overwrite_completefunc = 1
|
|
|
|
|
|
|
|
|
|
" SuperTab like snippets behavior.
|
|
|
|
|
imap <silent><expr><TAB> neosnippet#expandable() ?
|
2013-01-05 07:59:43 +00:00
|
|
|
|
\ "\<Plug>(neosnippet_expand_or_jump)" : (pumvisible() ?
|
|
|
|
|
\ "\<C-e>" : "\<TAB>")
|
2012-11-26 19:15:58 +00:00
|
|
|
|
smap <TAB> <Right><Plug>(neosnippet_jump_or_expand)
|
|
|
|
|
|
|
|
|
|
" Define dictionary.
|
|
|
|
|
let g:neocomplcache_dictionary_filetype_lists = {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
\ 'default' : '',
|
|
|
|
|
\ 'vimshell' : $HOME.'/.vimshell_hist',
|
|
|
|
|
\ 'scheme' : $HOME.'/.gosh_completions'
|
|
|
|
|
\ }
|
2012-11-26 19:15:58 +00:00
|
|
|
|
|
|
|
|
|
" Define keyword.
|
|
|
|
|
if !exists('g:neocomplcache_keyword_patterns')
|
|
|
|
|
let g:neocomplcache_keyword_patterns = {}
|
|
|
|
|
endif
|
|
|
|
|
let g:neocomplcache_keyword_patterns._ = '\h\w*'
|
|
|
|
|
|
|
|
|
|
" Plugin key-mappings.
|
2013-02-19 15:59:49 +00:00
|
|
|
|
|
|
|
|
|
" These two lines conflict with the default digraph mapping of <C-K>
|
|
|
|
|
" If you prefer that functionality, add
|
|
|
|
|
" let g:spf13_no_neosnippet_expand = 1
|
|
|
|
|
" in your .vimrc.bundles.local file
|
|
|
|
|
|
|
|
|
|
if !exists('g:spf13_no_neosnippet_expand')
|
|
|
|
|
imap <C-k> <Plug>(neosnippet_expand_or_jump)
|
|
|
|
|
smap <C-k> <Plug>(neosnippet_expand_or_jump)
|
|
|
|
|
endif
|
|
|
|
|
|
2012-11-26 19:15:58 +00:00
|
|
|
|
inoremap <expr><C-g> neocomplcache#undo_completion()
|
|
|
|
|
inoremap <expr><C-l> neocomplcache#complete_common_string()
|
|
|
|
|
inoremap <expr><CR> neocomplcache#complete_common_string()
|
|
|
|
|
|
|
|
|
|
" <TAB>: completion.
|
|
|
|
|
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
|
|
|
|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<TAB>"
|
|
|
|
|
|
|
|
|
|
" <CR>: close popup
|
|
|
|
|
" <s-CR>: close popup and save indent.
|
|
|
|
|
inoremap <expr><s-CR> pumvisible() ? neocomplcache#close_popup()"\<CR>" : "\<CR>"
|
|
|
|
|
inoremap <expr><CR> pumvisible() ? neocomplcache#close_popup() : "\<CR>"
|
|
|
|
|
|
|
|
|
|
" <C-h>, <BS>: close popup and delete backword char.
|
|
|
|
|
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
|
|
|
|
|
inoremap <expr><C-y> neocomplcache#close_popup()
|
|
|
|
|
|
|
|
|
|
" Enable omni completion.
|
|
|
|
|
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
|
|
|
|
|
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
|
|
|
|
|
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
|
|
|
|
|
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
|
|
|
|
|
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
|
|
|
|
|
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
|
|
|
|
|
|
|
|
|
|
" Enable heavy omni completion.
|
|
|
|
|
if !exists('g:neocomplcache_omni_patterns')
|
|
|
|
|
let g:neocomplcache_omni_patterns = {}
|
|
|
|
|
endif
|
|
|
|
|
let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
|
|
|
|
|
let g:neocomplcache_omni_patterns.perl = '\h\w*->\h\w*\|\h\w*::'
|
|
|
|
|
let g:neocomplcache_omni_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'
|
|
|
|
|
let g:neocomplcache_omni_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'
|
|
|
|
|
let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\h\w*\|\h\w*::'
|
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Use honza's snippets.
|
2012-11-26 19:15:58 +00:00
|
|
|
|
let g:neosnippet#snippets_directory='~/.vim/bundle/snipmate-snippets/snippets'
|
|
|
|
|
|
2013-02-09 20:38:17 +00:00
|
|
|
|
" Enable neosnippet snipmate compatibility mode
|
|
|
|
|
let g:neosnippet#enable_snipmate_compatibility = 1
|
|
|
|
|
|
2012-11-26 19:15:58 +00:00
|
|
|
|
" For snippet_complete marker.
|
|
|
|
|
if has('conceal')
|
|
|
|
|
set conceallevel=2 concealcursor=i
|
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2012-01-09 20:04:38 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" UndoTree {
|
2012-10-07 02:35:54 +00:00
|
|
|
|
nnoremap <Leader>u :UndotreeToggle<CR>
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" If undotree is opened, it is likely one wants to interact with it.
|
|
|
|
|
let g:undotree_SetFocusWhenToggle=1
|
|
|
|
|
" }
|
2012-01-28 06:22:33 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" indent_guides {
|
2012-10-06 05:19:44 +00:00
|
|
|
|
if !exists('g:spf13_no_indent_guides_autocolor')
|
|
|
|
|
let g:indent_guides_auto_colors = 1
|
|
|
|
|
else
|
2013-01-26 17:53:46 +00:00
|
|
|
|
" For some colorschemes, autocolor will not work (eg: 'desert', 'ir_black')
|
|
|
|
|
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=#212121 ctermbg=3
|
2012-10-06 05:19:44 +00:00
|
|
|
|
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#404040 ctermbg=4
|
|
|
|
|
endif
|
|
|
|
|
let g:indent_guides_start_level = 2
|
|
|
|
|
let g:indent_guides_guide_size = 1
|
|
|
|
|
let g:indent_guides_enable_on_vim_startup = 1
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" }
|
2012-10-06 05:19:44 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" GUI Settings {
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2011-12-10 20:10:06 +00:00
|
|
|
|
" GVIM- (here instead of .gvimrc)
|
|
|
|
|
if has('gui_running')
|
2013-01-05 07:59:43 +00:00
|
|
|
|
set guioptions-=T " Remove the toolbar
|
2013-01-26 17:53:46 +00:00
|
|
|
|
set lines=40 " 40 lines of text instead of 24
|
2012-07-06 13:17:00 +00:00
|
|
|
|
if has("gui_gtk2")
|
|
|
|
|
set guifont=Andale\ Mono\ Regular\ 16,Menlo\ Regular\ 15,Consolas\ Regular\ 16,Courier\ New\ Regular\ 18
|
2013-03-06 04:01:02 +00:00
|
|
|
|
elseif has("gui_mac")
|
2012-07-06 13:17:00 +00:00
|
|
|
|
set guifont=Andale\ Mono\ Regular:h16,Menlo\ Regular:h15,Consolas\ Regular:h16,Courier\ New\ Regular:h18
|
2013-03-06 02:30:01 +00:00
|
|
|
|
elseif has("gui_win32")
|
|
|
|
|
set guifont=Andale_Mono:h10,Menlo:h10,Consolas:h10,Courier_New:h10
|
2012-07-06 13:17:00 +00:00
|
|
|
|
endif
|
2012-01-09 20:04:38 +00:00
|
|
|
|
if has('gui_macvim')
|
2013-01-26 17:53:46 +00:00
|
|
|
|
set transparency=5 " Make the window slightly transparent
|
2012-01-09 20:04:38 +00:00
|
|
|
|
endif
|
2011-12-10 20:10:06 +00:00
|
|
|
|
else
|
2012-07-07 19:57:39 +00:00
|
|
|
|
if &term == 'xterm' || &term == 'screen'
|
2013-01-26 17:53:46 +00:00
|
|
|
|
set t_Co=256 " Enable 256 colors to stop the CSApprox warning and make xterm vim shine
|
2012-07-07 19:57:39 +00:00
|
|
|
|
endif
|
2012-02-08 03:11:37 +00:00
|
|
|
|
"set term=builtin_ansi " Make arrow and other keys work
|
2011-12-10 20:10:06 +00:00
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
|
2010-04-20 16:08:48 +00:00
|
|
|
|
" }
|
2010-08-20 16:26:46 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Functions {
|
2011-05-20 12:36:38 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" UnBundle {
|
|
|
|
|
function! UnBundle(arg, ...)
|
|
|
|
|
let bundle = vundle#config#init_bundle(a:arg, a:000)
|
|
|
|
|
call filter(g:bundles, 'v:val["name_spec"] != "' . a:arg . '"')
|
|
|
|
|
endfunction
|
2012-11-27 23:03:06 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
com! -nargs=+ UnBundle
|
|
|
|
|
\ call UnBundle(<args>)
|
|
|
|
|
" }
|
2012-11-27 23:03:06 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" Initialize directories {
|
|
|
|
|
function! InitializeDirectories()
|
|
|
|
|
let parent = $HOME
|
|
|
|
|
let prefix = 'vim'
|
|
|
|
|
let dir_list = {
|
|
|
|
|
\ 'backup': 'backupdir',
|
|
|
|
|
\ 'views': 'viewdir',
|
|
|
|
|
\ 'swap': 'directory' }
|
2012-02-15 20:19:28 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
if has('persistent_undo')
|
|
|
|
|
let dir_list['undo'] = 'undodir'
|
|
|
|
|
endif
|
2012-02-15 20:19:28 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
" To specify a different directory in which to place the vimbackup,
|
|
|
|
|
" vimviews, vimundo, and vimswap files/directories, add the following to
|
|
|
|
|
" your .vimrc.local file:
|
|
|
|
|
" let g:spf13_consolidated_directory = <full path to desired directory>
|
|
|
|
|
" eg: let g:spf13_consolidated_directory = $HOME . '/.vim/'
|
|
|
|
|
if exists('g:spf13_consolidated_directory')
|
|
|
|
|
let common_dir = g:spf13_consolidated_directory . prefix
|
|
|
|
|
else
|
|
|
|
|
let common_dir = parent . '/.' . prefix
|
|
|
|
|
endif
|
2013-01-03 20:27:12 +00:00
|
|
|
|
|
2013-01-05 07:59:43 +00:00
|
|
|
|
for [dirname, settingname] in items(dir_list)
|
|
|
|
|
let directory = common_dir . dirname . '/'
|
|
|
|
|
if exists("*mkdir")
|
|
|
|
|
if !isdirectory(directory)
|
|
|
|
|
call mkdir(directory)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
2012-02-15 20:19:28 +00:00
|
|
|
|
if !isdirectory(directory)
|
2013-01-05 07:59:43 +00:00
|
|
|
|
echo "Warning: Unable to create backup directory: " . directory
|
|
|
|
|
echo "Try: mkdir -p " . directory
|
|
|
|
|
else
|
|
|
|
|
let directory = substitute(directory, " ", "\\\\ ", "g")
|
|
|
|
|
exec "set " . settingname . "=" . directory
|
2012-02-15 20:19:28 +00:00
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
endfor
|
|
|
|
|
endfunction
|
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Initialize NERDTree as needed {
|
|
|
|
|
function! NERDTreeInitAsNeeded()
|
|
|
|
|
redir => bufoutput
|
|
|
|
|
buffers!
|
|
|
|
|
redir END
|
|
|
|
|
let idx = stridx(bufoutput, "NERD_tree")
|
|
|
|
|
if idx > -1
|
|
|
|
|
NERDTreeMirror
|
|
|
|
|
NERDTreeFind
|
|
|
|
|
wincmd l
|
2012-02-15 20:19:28 +00:00
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
endfunction
|
|
|
|
|
" }
|
|
|
|
|
|
|
|
|
|
" Strip whitespace {
|
|
|
|
|
function! StripTrailingWhitespace()
|
|
|
|
|
" To disable the stripping of whitespace, add the following to your
|
|
|
|
|
" .vimrc.local file:
|
|
|
|
|
" let g:spf13_keep_trailing_whitespace = 1
|
|
|
|
|
if !exists('g:spf13_keep_trailing_whitespace')
|
|
|
|
|
" Preparation: save last search, and cursor position.
|
|
|
|
|
let _s=@/
|
|
|
|
|
let l = line(".")
|
|
|
|
|
let c = col(".")
|
|
|
|
|
" do the business:
|
|
|
|
|
%s/\s\+$//e
|
|
|
|
|
" clean up: restore previous search history, and cursor position
|
|
|
|
|
let @/=_s
|
|
|
|
|
call cursor(l, c)
|
2012-02-15 20:19:28 +00:00
|
|
|
|
endif
|
2013-01-05 07:59:43 +00:00
|
|
|
|
endfunction
|
|
|
|
|
" }
|
2012-11-23 03:05:20 +00:00
|
|
|
|
|
2011-05-20 12:36:38 +00:00
|
|
|
|
" }
|
2010-08-31 20:41:34 +00:00
|
|
|
|
|
2012-09-27 04:46:17 +00:00
|
|
|
|
" Use fork vimrc if available {
|
|
|
|
|
if filereadable(expand("~/.vimrc.fork"))
|
2012-09-27 06:12:35 +00:00
|
|
|
|
source ~/.vimrc.fork
|
2012-09-27 04:46:17 +00:00
|
|
|
|
endif
|
|
|
|
|
" }
|
2012-11-26 19:15:58 +00:00
|
|
|
|
|
2010-08-31 20:41:34 +00:00
|
|
|
|
" Use local vimrc if available {
|
|
|
|
|
if filereadable(expand("~/.vimrc.local"))
|
|
|
|
|
source ~/.vimrc.local
|
|
|
|
|
endif
|
|
|
|
|
" }
|
2011-06-16 15:48:24 +00:00
|
|
|
|
|
|
|
|
|
" Use local gvimrc if available and gui is running {
|
2012-04-18 09:06:30 +00:00
|
|
|
|
if has('gui_running')
|
|
|
|
|
if filereadable(expand("~/.gvimrc.local"))
|
2011-06-16 15:48:24 +00:00
|
|
|
|
source ~/.gvimrc.local
|
|
|
|
|
endif
|
|
|
|
|
endif
|
2011-06-20 14:25:17 +00:00
|
|
|
|
" }
|
2013-01-03 20:27:12 +00:00
|
|
|
|
|
|
|
|
|
" Finish local initializations {
|
|
|
|
|
call InitializeDirectories()
|
|
|
|
|
" }
|