-
Notifications
You must be signed in to change notification settings - Fork 0
/
common-vimrc.vim
135 lines (113 loc) · 3.18 KB
/
common-vimrc.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
" Load all plugins in bundles
call pathogen#runtime_append_all_bundles()
:set guifont=Monaco:h12
:set guioptions-=T
let mapleader=","
set autoindent
set bs=2
set clipboard=unnamed
set completeopt=longest,menuone
set expandtab
set grepformat=%f:%l:%m
set grepprg=ack
set hidden
set ignorecase
set incsearch
set nocompatible
set nohlsearch
set nowrap
set number
set ruler
set shiftwidth=2
set softtabstop=2
set tabstop=2
set smartcase
set smartindent
set smarttab
set wildmenu
set wildmode=longest,list,full
colorscheme vividchalk
syntax on
filetype on
filetype plugin indent on
compiler ruby
" Fix typos
cabbr W w
cabbr Q q
map <F1> <Esc>
imap <F1> <Esc>
" close the current buffer, doesn't close the window
noremap <leader>w :Bclose<cr>
" close the current window and buffer
noremap <leader>q :bd<cr>
" close the current window, doesn't close the buffer
noremap <leader>Q :close<cr>
" Find in cwd/"project"
noremap <leader>f :AckWithIgnore ''<Left>
noremap <leader>F :AckWithIgnore
" Run the current file. Uses .vim/ruby/run_file.rb
noremap <leader>r :RunFile<cr>
noremap <leader>R :RunFileAtLine<cr>
" Textmate CMD-t emulation
let g:fuf_enumeratingLimit = 25
map <leader>t :FufTaggedFile<CR>
map <leader>T :FufTag<CR>
map <leader><C-t> :RegenTags<CR>:FufRenewCache<CR>
map <leader>l :FufLine<CR>
" bring up buffer list. ,,<CR> switches to last used buffer
map <leader>, :FufBuffer<CR>
" like browse to a file with a convenient ,t-like interface
map <leader>e :FufFile<CR>
" comment out a line
map <leader>/ :TComment<Return>
" used to set the clipboard buffer to system clipboard. example use: ,cp to
" paste from clipboard
map <leader>c "*
" Redraw screen
map <leader>d :redraw!<CR>
" Window split vertical
noremap <leader>v :vsplit<CR>
" Remove all window splits
noremap <leader>o :only<CR>
" autocmd FileType ruby,eruby set omnifunc=rubycomplete ai sw=2 sts=2 et
if has("autocmd")
filetype indent on
endif
" global variables that can be overridden or appended to in .vim in the cwd to
" customize stuff
" folders that should be ignored
let g:vim_ignore = ["vendor", "log", "tools"]
" extensions that should be included in tag files
let g:taggable_extensions = [
\ 'c',
\ 'coffee',
\ 'css',
\ 'erb',
\ 'feature',
\ 'java',
\ 'js',
\ 'haml',
\ 'php',
\ 'rake',
\ 'rb',
\ 'sass',
\ 'thor',
\ 'yaml',
\ 'yml',
\ 'sass',
\ ]
" load .vim in the current directory if it exists
if filereadable(".vim")
source .vim
endif
if exists('g:vim_ignore')
if !exists('g:fuzzy_ignore')
let g:fuzzy_ignore=join(map(copy(g:vim_ignore), 'v:val . "/**"'), ",")
endif
if !exists('g:ack_ignore')
let g:ack_ignore=copy(g:vim_ignore)
endif
endif
" clojure configuration
let clj_highlight_builtins = 1
let clj_paren_rainbow = 1