Created
January 24, 2012 01:23
-
-
Save aroman/1667154 to your computer and use it in GitHub Desktop.
aroman's vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scriptencoding utf-8 | |
" ^^ Please leave the above line at the start of the file. | |
" Default configuration file for Vim | |
" $Header: /var/cvsroot/gentoo-x86/app-editors/vim-core/files/vimrc-r3,v 1.1 2006/03/25 20:26:27 genstef Exp $ | |
" Written by Aron Griffis <agriffis@gentoo.org> | |
" Modified by Ryan Phillips <rphillips@gentoo.org> | |
" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org> | |
" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org> | |
" You can override any of these settings on a global basis via the | |
" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may | |
" need to create these. | |
" {{{ General settings | |
" The following are some sensible defaults for Vim for most users. | |
" We attempt to change as little as possible from Vim's defaults, | |
" deviating only where it makes sense | |
set nocompatible " Use Vim defaults (much better!) | |
set bs=2 " Allow backspacing over everything in insert mode | |
set ai " Always set auto-indenting on | |
set history=50 " keep 50 lines of command history | |
" set ruler " Show the cursor position all the time | |
set viminfo='20,\"500 " Keep a .viminfo file. | |
" Don't use Ex mode, use Q for formatting | |
map Q gq | |
set pastetoggle=<F2> | |
" When doing tab completion, give the following files lower priority. You may | |
" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable | |
" enhanced tab completion. These can be done in the user vimrc file. | |
set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo | |
" When displaying line numbers, don't use an annoyingly wide number column. This | |
" doesn't enable line numbers -- :set number will do that. The value given is a | |
" minimum width to use for the number column, not a fixed size. | |
if v:version >= 700 | |
set numberwidth=3 | |
endif | |
" }}} | |
" {{{ Modeline settings | |
" We don't allow modelines by default. See bug #14088 and bug #73715. | |
" If you're not concerned about these, you can enable them on a per-user | |
" basis by adding "set modeline" to your ~/.vimrc file. | |
set nomodeline | |
" }}} | |
" If we have a BOM, always honour that rather than trying to guess. | |
if &fileencodings !~? "ucs-bom" | |
set fileencodings^=ucs-bom | |
endif | |
" Always check for UTF-8 when trying to determine encodings. | |
if &fileencodings !~? "utf-8" | |
set fileencodings+=utf-8 | |
endif | |
" Make sure we have a sane fallback for encoding detection | |
set fileencodings+=default | |
" }}} | |
" {{{ Terminal fixes | |
if &term ==? "xterm" | |
set t_Sb=^[4%dm | |
set t_Sf=^[3%dm | |
set ttymouse=xterm2 | |
endif | |
if &term ==? "gnome" && has("eval") | |
" Set useful keys that vim doesn't discover via termcap but are in the | |
" builtin xterm termcap. See bug #122562. We use exec to avoid having to | |
" include raw escapes in the file. | |
exec "set <C-Left>=\eO5D" | |
exec "set <C-Right>=\eO5C" | |
endif | |
" {{{ Fix &shell, see bug #101665. | |
if "" == &shell | |
if executable("/bin/bash") | |
set shell=/bin/bash | |
elseif executable("/bin/sh") | |
set shell=/bin/sh | |
endif | |
endif | |
"}}} | |
" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh | |
" files should default to bash. See :help sh-syntax and bug #101819. | |
if has("eval") | |
let is_bash=1 | |
endif | |
" }}} | |
" {{{ Autocommands | |
if has("autocmd") | |
augroup gentoo | |
au! | |
" Gentoo-specific settings for ebuilds. These are the federally-mandated | |
" required tab settings. See the following for more information: | |
" http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml | |
" Note that the rules below are very minimal and don't cover everything. | |
" Better to emerge app-vim/gentoo-syntax, which provides full syntax, | |
" filetype and indent settings for all things Gentoo. | |
au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh | |
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab | |
" In text files, limit the width of text to 78 characters, but be careful | |
" that we don't override the user's setting. | |
autocmd BufNewFile,BufRead *.txt | |
\ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") | | |
\ setlocal textwidth=78 | | |
\ endif | |
" When editing a file, always jump to the last cursor position | |
autocmd BufReadPost * | |
\ if ! exists("g:leave_my_cursor_position_alone") | | |
\ if line("'\"") > 0 && line ("'\"") <= line("$") | | |
\ exe "normal g'\"" | | |
\ endif | | |
\ endif | |
" When editing a crontab file, set backupcopy to yes rather than auto. See | |
" :help crontab and bug #53437. | |
autocmd FileType crontab set backupcopy=yes | |
augroup END | |
endif " has("autocmd") | |
" }}} | |
" {{{ vimrc.local | |
if filereadable("/etc/vim/vimrc.local") | |
source /etc/vim/vimrc.local | |
endif | |
" }}} | |
" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : | |
set smartindent | |
set tabstop=4 | |
set shiftwidth=4 | |
set expandtab | |
colorscheme xoria256 | |
" Shift+Tab to unindent | |
imap <S-Tab> <C-o><< | |
" BASH-like autocompletion | |
set wildmode=longest:full | |
set wildmenu | |
" Highlight search things | |
set hlsearch | |
" Bash like keys for the command line | |
cnoremap <C-A> <Home> | |
cnoremap <C-E> <End> | |
" Unfuck my pinky | |
nore ; : | |
nore , ; | |
" Line numbers | |
set number | |
set numberwidth=3 | |
highlight LineNr cterm=bold | |
" Vala syntax highlighting | |
autocmd BufRead *.vala set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m | |
autocmd BufRead *.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m | |
au BufRead,BufNewFile *.vala setfiletype vala | |
au BufRead,BufNewFile *.vapi setfiletype vala | |
" General syntax | |
syntax on | |
filetype plugin indent on | |
" 256-colors | |
set t_Co=256 | |
" Sync X and Vim clipboards | |
set clipboard=unnamedplus | |
set pastetoggle=<F2> | |
" Pathogen | |
call pathogen#infect() | |
" NERDTree, bitches! | |
autocmd vimenter * if !argc() | NERDTree | endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment