]> us-delaporte.pagekite.me Git - dotfiles.git/blob - vimrc
Use the much more modern version of Vim that comes with MacVim
[dotfiles.git] / vimrc
1 " -------------------------------------------------------
2 "
3 " EdTheDev's Minimal .vimrc
4 "
5 " Everything belongs in a Vundle plugin.
6 " -------------------------------------------------------
7
8 " When setting up on a new machine, remember to:
9 " cd ~
10 " git clone https://github.com/gmarik/Vundle.vim.git
11 " ~/.vim/bundle/Vundle.vim
12 " vim +BundleInstall +qall
13 "
14 " Automatically setup Vundle on first run
15 if !isdirectory(expand("~/.vim/bundle/Vundle.vim"))
16 call system("git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle")
17 endif
18
19 " Let the leader key be ,
20 let mapleader=","
21
22 " Easier Ex commands
23 nnoremap ; :
24
25 " iPad and Android keyboards have no ESC Key
26 inoremap ii <esc>
27
28
29 set smarttab
30
31 set nocompatible " be iMproved, required
32
33 set omnifunc=syntaxcomplete#Complete
34
35 filetype off " required
36
37 set rtp+=~/.vim/bundle/Vundle.vim
38 call vundle#begin()
39
40 " =================
41 " Here be Plugins!
42 " =================
43
44 " let Vundle manage Vundle
45 " required!
46 Plugin 'gmarik/vundle'
47
48 " Helper scripts for editing ReStructuredText
49 Plugin 'edthedev/text-helper.vim'
50
51 " EdTheDev's Minion file organizer.
52 Plugin 'edthedev/minion'
53 " let g:minion_map_keys = 0
54
55
56 " Syntax helpers for ReStructuredText
57 Plugin 'edthedev/rst-syntax.vim'
58
59 " EdTheDev's Vim configuration for Python PEP8
60 Plugin 'edthedev/vim-pep8'
61 let g:minion_todo_map_keys = 1
62
63
64 " let g:vimroom_ctermbackground = "black"
65 "
66
67 " Trac plugin for Vim
68 " Plugin 'mjbrownie/Trac.vim'
69 " :help trac
70 " let g:tracServerList = {}
71 " let g:tracServerList['sdg'] =
72 "" \'http://username:password@trac.nukulele.org/login/xmlrpc'
73
74 "Plugin 'fmoralesc/vim-pad'
75 " let g:pad_dir='~/Copy/notes'
76
77 " Pelican.vim Revived!
78 Plugin 'edthedev/pelican.vim'
79 let g:pelican_blog_source = '~/Copy/blog'
80 let g:pelican_blog_html = '~/blog_html'
81 let g:pelican_git_master = 'git@bitbucket.org:edthedev/blog.git'
82 let g:pelican_publish_server = 'uiucedward@hathor.dreamhost.com:~/edward.delaporte.us'
83
84 " Low contrast color scheme for Gvim - much easier on the eyes.
85 Plugin 'junegunn/seoul256.vim'
86
87 " Display tag (function/method) outline
88 Plugin 'majutsushi/tagbar'
89 nmap <leader>t :TagbarToggle<Cr>
90
91 " EdTheDev's Vim configuration for TODO list items.
92 Plugin 'edthedev/vim-todo'
93 let g:vim_todo_keys = 1
94
95 " Automatic closing of parenthesis
96 " Plugin 'Raimondi/delimitMate'
97 " - Caused syntax color problems for RST?
98
99 " Browsing files made easier.
100 Plugin 'scrooloose/nerdtree'
101 nmap <leader>r :NERDTreeToggle<CR>
102
103 " Async dispatch by Tim Pope
104 Plugin 'tpope/vim-dispatch'
105
106 " Markdown highlighting
107 Plugin 'tpope/vim-markdown'
108 let g:markdown_github_languages = ['sh', 'python']
109
110
111 " Bundle 'vim-scripts/confluencewiki.vim'
112 " - Caused syntax color problems for RST?
113 "
114 "Plugin 'jceb/vim-orgmode'
115 "let g:org_todo_keywords=['TODO', 'DONE', 'WAITING', 'CANCELED']
116 "let g:org_agenda_files=['~/Google Drive/index.org']
117
118 " More obvious default behaviors
119 Plugin 'edthedev/wordlike.vim'
120
121 " Plugin 'xolox/vim-notes'
122 " Add @Tag search support
123 "Bundle 'fmoralesc/vim-pad'
124 " let g:pad_dir='~/Copy/notes'
125
126 " Distraction free writing.
127 Plugin 'junegunn/goyo.vim'
128 nnoremap <leader>w :Goyo<Cr>
129 " Limelight doesn't work with iterm
130 " Plugin 'junegunn/limelight.vim'
131 " nnoremap <leader>w :Goyo<Cr>:Limelight<Cr>
132
133 Plugin 'vim-scripts/pylint-mode'
134 let g:PyLintCWindow = 1
135 let g:PyLintSigns = 1
136 let g:PyLintOnWrite = 1
137 " let g:PyLintDissabledMessages = 'C0103,C0111,C0301,W0141,W0142,W0212,W0221,W0223,W0232,W0401,W0613,W0631,E1101,E1120,R0201,R0901,R0903,R0904,R0913'
138 " let g:PyLintDissabledMessages = 'C0103,C0111,C0301,W0141,W0142,W0212,W0221,W0223,W0232,W0401,W0613,W0631,E1101,E1120,R0201,R0901,R0903,R0904,R0913,E1002,E1103'
139 " let g:PyLintDissabledMessages = 'C0103,C0111,C0301,W0141,W0142,W0212,W0221,W0223,W0232,W0401,W0613,W0631,E1002,E1101,E1103,E1120,R0201,R0901,R0903,R0904,R0913'
140 let g:PyLintDissabledMessages = 'C0103,C0111,C0301,C0322,C0323,C0324,W0141,W0142,W0212,W0221,W0223,W0232,W0401,W0613,W0621,W0631,E0611,E1002,E1101,E1103,E1120,F0401,R0201,R0901,R0903,R0904,R0913'
141
142 " Help building Arduino source files.
143 Plugin 'edthedev/arduino.vim'
144 " Plugin 'edthedev/vim-arduino-ino'
145 let g:arduino_compile_command = 'ino build --board-model=atmega328'
146 " let g:arduino_compile_command = 'Dispatch ino build --board-model=atmega328'
147 let g:arduino_upload_command = 'ino upload --board-model=atmega328'
148
149 " Plugin 'tomswartz07/vim-todo'
150 "
151 " Run commands from the current line and get their output.
152 Plugin 'edthedev/cmd.vim'
153
154 Plugin 'itchyny/thumbnail.vim'
155 " :Thumbnail
156 "
157 " Plugin 'farseer90718/vim-taskwarrior'
158 " let g:task_rc_override = 'defaultwidth=999'
159 " Plugin 'farseer90718/vim-taskwarrior'
160 " let g:task_rc_override = 'defaultwidth=0'
161 " let g:task_report_name = 'list'
162 " Read up on it here: https://github.com/farseer90718/vim-taskwarrior
163 "
164
165 " For REST APIs Press QQ in normal mode to open.
166 Plugin 'nicwest/QQ.vim'
167
168 " Plugin 'scrooloose/syntastic'
169
170 Plugin 'mihaifm/bufstop'
171 nn <leader>b :Bufstop<CR> " get a visual on the buffers
172 map <leader>a :BufstopModeFast<CR> " a command for quick switching
173
174 " Sensible defaults for Markdown
175 " Plugin 'plasticboy/vim-markdown'
176 " set nofoldenable "Do not fold everything
177
178 " Ctrl P on steroids...
179 " Plugin 'Shougo/unite.vim'
180
181 " Better status line.
182 Plugin 'bling/vim-airline'
183
184 " Plugin 'vimwiki/vimwiki'
185 " let g:vimwiki_list = [{'path': '~/Box Sync/wiki', 'path_html': '~/cites_wiki_html/'},{'path': '~/Dropbox/wiki', 'path_html': '~/vim_wiki_html/'}]
186
187 " Emacs style kill-paste ring
188 " Plugin 'vim-scripts/YankRing.vim'
189 " :h yankring.txt
190 " :h yankring-tutorial
191
192 " Javascript
193 " Plugin 'maksimr/vim-jsbeautify'
194 "Plugin 'einars/js-beautify'
195 "
196 " Plugin 'Delapouite/vim-javascript-syntax'
197 "Plugin 'pangloss/vim-javascript'
198
199 " HTML
200 " Bundle 'othree/html5.vim'
201 "Bundle 'evidens/vim-twig'
202 "Bundle 'tokutake/twig-indent'
203 "Bundle 'groenewege/vim-less'
204 "Bundle 'hail2u/vim-css3-syntax'
205
206 " AsciiDoc
207 " Very broken:
208 " Bundle 'dahu/vim-asciidoc'
209
210 " Syntax Highlighting for AsiiDoc
211 " Poor color choices for dark theme: Plugin 'dagwieers/asciidoc-vim'
212 Plugin 'traycerb/asciidoc-vim'
213
214 " Learn me! <cs - change surrounding, ds - delete sur, ys - add surrounding)
215 Plugin 'tpope/vim-surround'
216
217 call vundle#end()
218 filetype plugin indent on " required for Vundle Bundle
219
220 " Page down with space key
221 " nn <space> <c-d>
222 " Shift space is undetectable in many terminals...
223 " nn <S-space> <c-u>
224
225
226 " If not something else, then asciidoc
227 set filetype=asciidoc
228 set syntax=asciidoc
229
230 " Don't show tabs for HTML files. Do show trailing spaces."
231 au FileType html set nolist
232 au FileType javascript set nolist
233
234 " Two spaces as tabs in .feature files.
235 au BufRead,BufNewFile *.feature set filetype=yaml
236 au FileType yaml set tabstop=2
237 au FileType yaml set shiftwidth=2
238 au FileType yaml set expandtab
239
240 " Two spaces for Markdown files.
241 au BufRead,BufNewFile *.md set filetype=markdown
242 au FileType markdown set tabstop=2
243 au FileType markdown set shiftwidth=2
244 " au FileType yaml set expandtab
245 "
246 set softtabstop=4 " makes the spaces feel like real tabs
247 " Sensible default for everything else.
248 set tabstop=2
249 set shiftwidth=2
250