103 lines
3.6 KiB
VimL
103 lines
3.6 KiB
VimL
" Example Vim configuration.
|
|
" Copy or symlink to ~/.vimrc or ~/_vimrc.
|
|
|
|
set nocompatible " Must come first because it changes other options.
|
|
|
|
silent! call pathogen#runtime_append_all_bundles()
|
|
|
|
syntax enable " Turn on syntax highlighting.
|
|
filetype plugin indent on " Turn on file type detection.
|
|
|
|
runtime macros/matchit.vim " Load the matchit plugin.
|
|
|
|
set showcmd " Display incomplete commands.
|
|
set showmode " Display the mode you're in.
|
|
|
|
set backspace=indent,eol,start " Intuitive backspacing.
|
|
|
|
set hidden " Handle multiple buffers better.
|
|
|
|
set wildmenu " Enhanced command line completion.
|
|
set wildmode=list:longest " Complete files like a shell.
|
|
|
|
set ignorecase " Case-insensitive searching.
|
|
set smartcase " But case-sensitive if expression contains a capital letter.
|
|
|
|
set number " Show line numbers.
|
|
set ruler " Show cursor position.
|
|
|
|
set incsearch " Highlight matches as you type.
|
|
" set hlsearch " Highlight matches.
|
|
|
|
set nowrap " Turn off line wrapping.
|
|
set scrolloff=3 " Show 3 lines of context around the cursor.
|
|
|
|
set title " Set the terminal's title
|
|
|
|
set visualbell " No beeping.
|
|
|
|
set nobackup " Don't make a backup before overwriting a file.
|
|
set nowritebackup " And again.
|
|
set directory=$HOME/.vim/tmp//,. " Keep swap files in one location
|
|
|
|
set tabstop=2 " Global tab width.
|
|
set shiftwidth=2 " And again, related.
|
|
set expandtab " Use spaces instead of tabs
|
|
|
|
set laststatus=2 " Show the status line all the time
|
|
" Useful status information at bottom of screen
|
|
set statusline=[%n]\ %<%.99f\ %h%w%m%r%y\ %{exists('*CapsLockStatusline')?CapsLockStatusline():''}%=%-16(\ %l,%c-%v\ %)%P
|
|
|
|
" Use :make to execute Ruby files"
|
|
set makeprg=ruby\ %
|
|
|
|
" Tab mappings.
|
|
map <leader>tt :tabnew<cr>
|
|
map <leader>te :tabedit
|
|
map <leader>tc :tabclose<cr>
|
|
map <leader>to :tabonly<cr>
|
|
map <leader>tn :tabnext<cr>
|
|
map <leader>tp :tabprevious<cr>
|
|
map <leader>tf :tabfirst<cr>
|
|
map <leader>tl :tablast<cr>
|
|
map <leader>tm :tabmove
|
|
|
|
" Record macros with qq and play them with space
|
|
:nnoremap <Space> @q
|
|
|
|
" Uncomment to use Jamis Buck's file opening plugin
|
|
"map <Leader>t :FuzzyFinderTextMate<Enter>
|
|
|
|
" Controversial...swap colon and semicolon for easier commands
|
|
"nnoremap ; :
|
|
"nnoremap : ;
|
|
|
|
"vnoremap ; :
|
|
"vnoremap : ;
|
|
|
|
" Automatic fold settings for specific files. Uncomment to use.
|
|
" autocmd FileType ruby setlocal foldmethod=syntax
|
|
autocmd FileType css setlocal shiftwidth=2 tabstop=2
|
|
autocmd FileType html setlocal shiftwidth=2 tabstop=2
|
|
autocmd FileType jade setlocal shiftwidth=2 tabstop=2
|
|
autocmd FileType md setlocal shiftwidth=2 tabstop=2
|
|
|
|
" For the MakeGreen plugin and Ruby RSpec. Uncomment to use.
|
|
autocmd BufNewFile,BufRead *_spec.rb compiler rspec
|
|
|
|
" let ts=4 sw=4 et
|
|
let g:indent_guides_start_level = 2
|
|
let g:indent_guides_guide_size = 1
|
|
|
|
au BufRead,BufNewFile *.json set filetype=json
|
|
au! Syntax json source ~/.vim/ftplugin/json.vim
|
|
|
|
au BufRead,BufNewFile /usr/local/nginx/conf/* set ft=nginx
|
|
|
|
" Highlight trailing whitespaces
|
|
highlight ExtraWhitespace ctermbg=red guibg=red
|
|
au ColorScheme * highlight ExtraWhitespace guibg=red
|
|
au BufEnter * match ExtraWhitespace /\s\+$/
|
|
au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
|
|
au InsertLeave * match ExtraWhiteSpace /\s\+$/
|