mirror of https://github.com/bjeanes/dotfiles.git
125 lines
2.6 KiB
VimL
125 lines
2.6 KiB
VimL
set nocompatible
|
|
|
|
" Pathogen setup
|
|
runtime! autoload/pathogen.vim
|
|
if exists('g:loaded_pathogen')
|
|
filetype off
|
|
|
|
call pathogen#runtime_append_all_bundles()
|
|
call pathogen#helptags()
|
|
endif
|
|
|
|
" Syntax
|
|
syntax on
|
|
filetype plugin indent on
|
|
match ErrorMsg '\%>80v.\+'
|
|
|
|
|
|
" UI
|
|
set number
|
|
set ruler
|
|
set guioptions=aAce
|
|
set mouse=a
|
|
colorscheme railscasts
|
|
|
|
" Tabs/Whitespace
|
|
set tabstop=2
|
|
set shiftwidth=2
|
|
set autoindent
|
|
set smarttab
|
|
set expandtab
|
|
set nowrap
|
|
set list listchars=tab:\ \ ,trail:·
|
|
|
|
" Searching
|
|
set hlsearch
|
|
set incsearch
|
|
set ignorecase
|
|
set smartcase
|
|
|
|
" Tab completion
|
|
set wildmode=list:longest,list:full
|
|
set wildignore+=*.o,*.obj,.git,*.rbc
|
|
|
|
" Status bar
|
|
set laststatus=2
|
|
|
|
" CTags
|
|
map <Leader>rt :!ctags --extra=+f -R *<CR><CR>
|
|
|
|
" Remember last location in file
|
|
if has("autocmd")
|
|
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
|
|
\| exe "normal g'\"" | endif
|
|
endif
|
|
|
|
function s:setupWrapping()
|
|
set wrap
|
|
set wm=2
|
|
set textwidth=72
|
|
endfunction
|
|
|
|
function s:setupMarkup()
|
|
call s:setupWrapping()
|
|
map <buffer> <Leader>p :Mm <CR>
|
|
endfunction
|
|
|
|
" make and python use real tabs
|
|
au FileType make set noexpandtab
|
|
au FileType python set noexpandtab
|
|
|
|
" Thorfile, Rakefile and Gemfile are Ruby
|
|
au BufRead,BufNewFile {Gemfile,Rakefile,Thorfile,config.ru} set ft=ruby
|
|
|
|
" md, markdown, and mk are markdown and define buffer-local preview
|
|
au BufRead,BufNewFile *.{md,markdown,mdown,mkd,mkdn} call s:setupMarkup()
|
|
|
|
au BufRead,BufNewFile *.txt call s:setupWrapping()
|
|
|
|
" allow backspacing over everything in insert mode
|
|
set backspace=indent,eol,start
|
|
|
|
" Window manipulation
|
|
"map tt <C-w>
|
|
map <C-w><Backspace> <C-w><Left> | " This and the below are also useful for colemak
|
|
map <C-w><Space> <C-w><Right>
|
|
|
|
" Surrounds shortcuts for visual selections
|
|
"vmap " s"
|
|
"vmap ' s'
|
|
"vmap ( s)
|
|
"vmap [ s]
|
|
"vmap { s}
|
|
"vmap < s>
|
|
|
|
" Pressing backspace with selection does something weird
|
|
" thanks to above surrounds shortcuts so let's be specific
|
|
" here:
|
|
vmap <Backspace> xi
|
|
|
|
" Colemak
|
|
"
|
|
" * Switch 'h' and 'n' (so 'up' is on top of 'down').
|
|
" * Use <Space> and <Backspace> for <Right> and <Left>, instead (and disable 'j'
|
|
" and 'l' which are where 'y' and 'u' are in in QWERTY)
|
|
nmap h <Up>
|
|
nmap k <Down>
|
|
|
|
" Nicer split controls
|
|
"map <C-_> normal :split<CR>
|
|
"map <C-\|> normal :vsplit<CR>
|
|
|
|
" Emacs-like keys for the command line
|
|
cnoremap <C-A> <Home>
|
|
cnoremap <C-E> <End>
|
|
cnoremap <C-K> <C-U>
|
|
|
|
set wildignore+=Transmission*Remote*GUI
|
|
|
|
let g:ragtag_global_maps = 1
|
|
|
|
if filereadable(expand('~/.vimrc.local'))
|
|
source ~/.vimrc.local
|
|
endif
|
|
|