aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules6
l---------colors/mac_classic.vim1
m---------colors/nelstrom0
-rw-r--r--doc/list-of-filetypes.txt175
-rw-r--r--doc/shortcuts.txt64
-rw-r--r--vimrc81
6 files changed, 282 insertions, 45 deletions
diff --git a/.gitmodules b/.gitmodules
index cdf3d7a..8e27078 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
1[submodule "plugins/Vundle.vim"]
2 path = plugins/Vundle.vim
3 url = https://github.com/VundleVim/Vundle.vim.git
4[submodule "bundle/Vundle.vim"] 1[submodule "bundle/Vundle.vim"]
5 path = bundle/Vundle.vim 2 path = bundle/Vundle.vim
6 url = https://github.com/VundleVim/Vundle.vim.git 3 url = https://github.com/VundleVim/Vundle.vim.git
4[submodule "colors/nelstrom"]
5 path = colors/nelstrom
6 url = https://github.com/nelstrom/vim-mac-classic-theme.git
diff --git a/colors/mac_classic.vim b/colors/mac_classic.vim
new file mode 120000
index 0000000..c1f3dc2
--- /dev/null
+++ b/colors/mac_classic.vim
@@ -0,0 +1 @@
nelstrom/colors/mac_classic.vim \ No newline at end of file
diff --git a/colors/nelstrom b/colors/nelstrom
new file mode 160000
Subproject 8bf9e3d96a0988849e8dd9954d443857191c863
diff --git a/doc/list-of-filetypes.txt b/doc/list-of-filetypes.txt
new file mode 100644
index 0000000..9752c6a
--- /dev/null
+++ b/doc/list-of-filetypes.txt
@@ -0,0 +1,175 @@
1# this list can be generated with ':setfiletype <C-d>'. I have copied it to
2# make it searchable.
3
42html erlang master sinda
5HGAnnotate eruby matlab sindacmp
6PKGBUILD esmtprc maxima sindaout
7a2ps esqlc mel sisu
8a65 esterel messages skill
9aap eterm mf sl
10abap euphoria3 mgl slang
11abaqus euphoria4 mgp slice
12abc eviews mib slim
13abel exim mix slpconf
14acedb expect mma slpreg
15ada exports mmix slpspi
16aflex falcon mmp slrnrc
17ahdl fan modconf slrnsc
18alsaconf fasm model sm
19amiga fdcc modsim3 smarty
20aml fetchmail modula2 smcl
21ampl fgl modula3 smil
22ansible fish monk smith
23ansible_hosts flexwiki moo sml
24ansible_template focexec mp snnsnet
25ant form mplayerconf snnspat
26antlr forth mrxvtrc snnsres
27apache fortran msidl snobol4
28apachestyle foxpro msmessages solidity
29aptconf framescript msql spec
30arch freebasic mupad specman
31arduino fstab mush spice
32art fvwm mustache splint
33asciidoc fvwm2m4 muttrc spup
34asm gdb mysql spyce
35asm68k gdmo named sql
36asmh8300 gedcom nanorc sqlanywhere
37asn git nasm sqlforms
38aspperl gitcommit nastran sqlhana
39aspvbs gitconfig natural sqlinformix
40asterisk gitolite ncf sqlj
41asteriskvm gitrebase netrc sqloracle
42atlas gitsendemail netrw sqr
43augeas gkrellmrc nginx squid
44autohotkey glsl nim srec
45autoit gnash ninja sshconfig
46automake gnomecat nix sshdconfig
47ave gnuplot nosyntax st
48avra go nqc stata
49awk godefstack nroff stp
50ayacc godoc nsis strace
51b gohtmltmpl obj stylus
52baan gotexttmpl objc sudoers
53basic gp objcpp svg
54bc gpg ocaml svn
55bdf gprof occam swift
56bib grads octave syncolor
57bib_latexSuite gretl omnimark synload
58bindzone groff opencl syntax
59blade groovy openroad sysctl
60blank group opl systemd
61bst grub ora systemverilog
62btm gsp pamconf tads
63bzl gtkrc papp tags
64bzr haml pascal tak
65c hamster passwd takcmp
66cabal handlebars pcap takout
67calendar haskell pccts tap
68catalog haste pdf tar
69cdl hastepreproc perl taskdata
70cdrdaoconf haxe perl6 taskedit
71cdrtoc haxe_extended pf tasm
72cf hb pfmain tcl
73cfg help pgsql tcsh
74ch hercules php teraterm
75chaiscript hex phtml terminfo
76change hgcommit pic tex
77changelog hitest pike tex_LatexBox
78chaskell hog pilrc tex_latexSuite
79cheetah hostconf pine texinfo
80chill hostsaccess pinfo texmf
81chordpro hss plaintex text
82cl html plantuml textile
83clean html5 pli tf
84clipper htmlcheetah plm thrift
85clojure htmldjango plp tidy
86cmake htmlm4 plsql tilde
87cmake-indent htmlos po tli
88cmake-syntax hxml pod tmux
89cmusrc ia64 postscr tomdoc
90cobol ibasic pov toml
91coco icemenu povini tpp
92coffee icon ppd trasys
93color_coded idl ppwiz treetop
94colortest idlang prescribe trustees
95conaryrecipe indent privoxy tsalt
96conf inform procmail tsscl
97config initex progress tssgm
98context initng prolog tssop
99cpp inittab promela tt2
100cql ipfilter proto tt2html
101crm ishd protocols tt2js
102crontab iss ps1 twig
103cryptol ist ps1xml typescript
104crystal j psf uc
105cs jal ptcap udevconf
106csc jam pug udevperm
107cscope_plus jargon puppet udevrules
108csdl jasmine purescript uil
109csh java purifylog updatedb
110csp javacc pyrex upstart
111css javascript python upstreamdat
112cterm jess qf upstreaminstalllog
113ctrlh jgraph qml upstreamlog
114cucumber jinja2 quake upstreamrpt
115cuda jovial r usserverlog
116cupl jproperties racc usw2kagtlog
117cuplsim json radiance vala
118cuda jovial r usserverlog
119cupl jproperties racc usw2kagtlog
120cuplsim json radiance vala
121cvs jsp ragel valgrind
122cvsrc jst ratpoison vb
123cweb jsx rc vbnet
124cynlib julia rcs vcl
125cynpp kconfig rcslog velocity
126d kivy readline vera
127dart kix rebol verilog
128datascript kotlin redif verilogams
129dcd kscript registry vgrindefs
130dcl kwt remind vhdl
131debchangelog lace resolv vim
132debcontrol latextoc reva vimgo
133debsources latte rexx viminfo
134def ld rhelp virata
135denyhosts ldapconf rib vmasm
136desc ldif rmd voscm
137desktop less rnc vrml
138dictconf lex rng vroom
139dictdconf lftp rnoweb vsejcl
140diff lhaskell robots vundlelog
141dircolors libao rpcgen wdiff
142dirpager lifelines rpl web
143diva lilo rrst webmacro
144django limits rspec wget
145dns liquid rst whitespace
146dnsmasq lisp rtf winbatch
147docbk lite ruby wml
148docbksgml litestep rust wsh
149docbkxml logcheck samba wsml
150dockerfile loginaccess sas wvdial
151dosbatch logindefs sass xbl
152dosini logtalk sather xdefaults
153dot lotos sbt xf86conf
154doxygen lout scala xhtml
155dracula lpc scala.xpt xinetd
156dsl lprolog scheme xkb
157dtd lscript scilab xmath
158dtml lsl screen xml
159dtrace lss scss xmodmap
160dts lua sd xpm
161dylan lynx sdc xpm2
162dylanintr m4 sdl xquery
163dylanlid mail sed xs
164ecd mailaliases sendpr xsd
165edif mailcap sensors xsl
166eelixir make services xslt
167eiffel mallard setserial xxd
168elf man sgml yacc
169elinks manconf sgmldecl yaml
170elixir manual sgmllnx z8a
171elm maple sh zimbu
172elmfilt markdown sicad zsh
173ember-script masm sieve
174emblem mason simula
175
diff --git a/doc/shortcuts.txt b/doc/shortcuts.txt
index 9c168f9..4e49e6d 100644
--- a/doc/shortcuts.txt
+++ b/doc/shortcuts.txt
@@ -1,50 +1,60 @@
1leader key = usually set to backslash expects a quick command
2
3
1[normal mode] 4[normal mode]
2f{char} - move cursor to the character {char} 5f{char} = move cursor to the character {char}
3 6
4 7
5[visual mode] - with selected lines 8[visual mode] # with selected lines
6gq - formats text so that it fits in whatever :set textwidth was set 9gq = formats text so that it fits in whatever :set textwidth was set
7iB - select block between curly braces (:help object-select) 10iB = select block between curly braces (:help object-select)
8 11
9 12
10[commands] 13[commands]
11:spell [word] - adds a word to the current dictionary (no mistake any more) 14:spell [word] = adds a word to the current dictionary (no mistake any more)
12:set list - display non printable characters 15:set list = display non printable characters
13:retab - replaces tabs with spaces 16:retab = replaces tabs with spaces
14:set expandtab - in insert mode: replace tab with spaces 17:set expandtab = in insert mode: replace tab with spaces
18:Explore = cli version open file dialog
15 19
16 20
17[navigation] 21[navigation]
18<CTRL-]> - look up the tag under the cursor (help links as well) 22<CTRL-]> = look up the tag under the cursor (help links as well)
19<CTRL-T> - return back from tag under the cursor 23<CTRL-T> = return back from tag under the cursor
24gd = jump to the declaration of the variable under the cursor
20 25
21 26
22[macros] - record and play back a series of vim commands 27[macros] # record and play back a series of vim commands
23qa - start (q) macro recording in register a (can be anything) 28qa = start (q) macro recording in register a (can be anything)
24q - stop macro recording 29q = stop macro recording
25@a - replay macro a 30@a = replay macro a
26:'<,'>normal @a - apply a to every line in the current selection 31:'<,'>normal @a = apply a to every line in the current selection
27 32
28 33
29[marker] 34[marker]
30ma - set marker a-z (a in this case) 35ma = set marker a-z (a in this case)
31'a - go to marker a 36'a = go to marker a
32 37
33 38
34[hotkeys] 39[hotkeys]
35<C-A>, <C-X> - increment, decrement number under the cursor 40<C-A>, <C-X> = increment, decrement number under the cursor
36 41
37 42
38[windows] 43[windows]
39<C-W>v - splits buffer vertically (screen uses |) 44<C-W>v = splits buffer vertically (screen uses |)
40<C-W>s - splits buffer horizontally (same as screen) 45<C-W>s = splits buffer horizontally (same as screen)
41<C-W>w - moves the cursor to the next window and back 46<C-W>w = moves the cursor to the next window and back
42<C-W>[dir] - moves the cursor in that direction (use hjkl or arrow keys) 47<C-W>[dir] = moves the cursor in that direction (use hjkl or arrow keys)
43 48
44 49
45[vimdiff] 50[vimdiff]
46do - get changes from other window into the current 51do = get changes from other window into the current
47dp - put changes from current window into the other 52dp = put changes from current window into the other
48]c - jump to the next change 53]c = jump to the next change
49[c - jump to the prevous change 54[c = jump to the prevous change
50zR - opens all folds (unfold all) 55zR = opens all folds (unfold all)
56
57[vim modeline]
58the last line can be a mode line, which holds settings like tab width:
59
60# vim: noai:ts=2:sw=2 filetype=dosini
diff --git a/vimrc b/vimrc
index e57b242..2443738 100644
--- a/vimrc
+++ b/vimrc
@@ -7,22 +7,30 @@ set rtp+=~/.vim/bundle/Vundle.vim | " set runtimepath (requir
7call vundle#begin('~/.vim/bundle/') | " location where Vundle searches&installs plugins 7call vundle#begin('~/.vim/bundle/') | " location where Vundle searches&installs plugins
8 8
9" Plugin dependant configurations... 9" Plugin dependant configurations...
10Plugin 'VundleVim/Vundle.vim' | " Vundle itself (required) 10Plugin 'Valloric/YouCompleteMe' | " syntax checker and code completion
11Plugin 'cscope_plus.vim' | " run cscope -R -b in project folder then use 11Plugin 'cscope_plus.vim' | " run cscope -R -b in project folder then use
12Plugin 'autoload_cscope.vim' | " CTRL+\ s searches word under cursor, CTRL+T back 12Plugin 'autoload_cscope.vim' | " CTRL+\ s searches word under cursor, CTRL+T back
13Plugin 'tpope/vim-fugitive' | " the most complete GIT integration plugin 13Plugin 'tpope/vim-fugitive' | " the most complete GIT integration plugin
14Plugin 'jeaye/color_coded' | " semantic highlighting with vim 14Plugin 'jeaye/color_coded' | " semantic highlighting with vim
15Plugin 'terryma/vim-multiple-cursors' | " displays visual block mode as cursors 15Plugin 'terryma/vim-multiple-cursors' | " displays visual block mode as cursors
16
17Plugin 'taglist-plus' | " quick code navigator 16Plugin 'taglist-plus' | " quick code navigator
18Plugin 'jdonaldson/vaxe' | " code completion for haxe 17Plugin 'jdonaldson/vaxe' | " code completion for haxe
19Plugin 'sheerun/vim-polyglot' | " better syntax highlighting/indentation for multiple languages 18Plugin 'sheerun/vim-polyglot' | " better syntax highlighting/indentation for multiple languages
20Plugin 'loremipsum' | " Sample text generator 19Plugin 'loremipsum' | " Sample text generator
20Plugin 'vim-airline/vim-airline' | " beautification of the mode line
21Plugin 'nathanaelkane/vim-indent-guides' | " shows indentation guidelines by pressing <leader>ig
22Plugin 'gregsexton/matchtag' | " highlights closing ML tags like braces
23Plugin 'indenthtml.vim' | " works better with mixed html/css/javascript
24Plugin 'easymotion/vim-easymotion' | " speed up navigation: try \\w or \\f, then one of the highlighted chars
25Plugin 'tpope/vim-surround' | " plugin makes cs"' inside a line replace " with '
26
27
28
21let Tlist_Compact_Format = 1 | " 29let Tlist_Compact_Format = 1 | "
22let Tlist_GainFocus_On_ToggleOpen = 1 | " 30let Tlist_GainFocus_On_ToggleOpen = 1 | "
23let Tlist_Close_On_Select = 1 | " 31let Tlist_Close_On_Select = 1 | "
24 32
25Plugin 'Valloric/YouCompleteMe' | " syntax checker and code completion 33Plugin 'VundleVim/Vundle.vim' | " Vundle itself (required)
26let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py' | " fallback, right one should be in the applications path 34let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py' | " fallback, right one should be in the applications path
27let g:ycm_confirm_extra_conf = 0 | " disable 'do you really want to execute .py?' 35let g:ycm_confirm_extra_conf = 0 | " disable 'do you really want to execute .py?'
28let g:ycm_key_select_completion = '<Tab>' | " key completion key 36let g:ycm_key_select_completion = '<Tab>' | " key completion key
@@ -34,12 +42,27 @@ let g:ycm_autoclose_preview_window_after_insertion=1 | " close the window when
34 42
35let b:html_omni_flavor='xhtml' | " prever xhtml over html because that makes inline php code possible without hassle 43let b:html_omni_flavor='xhtml' | " prever xhtml over html because that makes inline php code possible without hassle
36let html_use_css = 1 | " when using :TOhtml no font-tags will be used, but proper css 44let html_use_css = 1 | " when using :TOhtml no font-tags will be used, but proper css
45let g:vim_markdown_folding_disabled=1 | " disable code folding with vimdiff (also see set nofoldenable)
46
47let g:netrw_liststyle=3 | " Explore mode: 3 shows a complete tree instead of the current directory
48let g:netrw_list_hide='^\..*' | " Explore mode: hide files starting with dot
49
50
51" speed up CTRL-P Menu...
52let g:ctrlp_user_command = 'ag %s -i --nocolor --nogroup --hidden
53 \ --ignore .git
54 \ --ignore .svn
55 \ --ignore .hg
56 \ --ignore .DS_Store
57 \ --ignore "**/*.pyc"
58 \ -g ""'
37 59
38call vundle#end() | " required by Vundle 60call vundle#end() | " required by Vundle
39filetype plugin indent on | " required by Vundle 61filetype plugin indent on | " required by Vundle
40"================================================================================ 62"================================================================================
41" custom config 63" custom config
42colorscheme coderonline 64colorscheme mac_classic
65" colorscheme coderonline
43syntax enable 66syntax enable
44 67
45set noswapfile | " noundofile, nobackup, nowritebackup 68set noswapfile | " noundofile, nobackup, nowritebackup
@@ -57,7 +80,7 @@ set selection=exclusive | " includes last character of the selection into
57 80
58set whichwrap=b,s,<,>,[,] | " beyond beginning/end line causes cusor to wrap 81set whichwrap=b,s,<,>,[,] | " beyond beginning/end line causes cusor to wrap
59set backspace=indent,eol,start| " allow backspacing over everything in insert mode, not needed with whichwrap 82set backspace=indent,eol,start| " allow backspacing over everything in insert mode, not needed with whichwrap
60set diffopt+=iwhite,filler | " lets diff ignore white spaces 83set diffopt+=vertical,iwhite,filler | " lets diff ignore white spaces
61set spell spelllang=en,de | " enable spell checker 84set spell spelllang=en,de | " enable spell checker
62set virtualedit=onemore | " one character beyond the line length should be navigatable (options: all,insert,block,onemore) 85set virtualedit=onemore | " one character beyond the line length should be navigatable (options: all,insert,block,onemore)
63set breakindent cpoptions+=n | " when wrapping lines indent wrapped line to align with the previews 86set breakindent cpoptions+=n | " when wrapping lines indent wrapped line to align with the previews
@@ -66,6 +89,7 @@ set showcmd | " displays status line messages while selecting
66set nofoldenable | " do not fold code automatically 89set nofoldenable | " do not fold code automatically
67set tags+=~/.vim/systags | " ctags -R -f ~/.vim/systags /usr/include /usr/local/include 90set tags+=~/.vim/systags | " ctags -R -f ~/.vim/systags /usr/include /usr/local/include
68set wildmenu wildmode=full | " wildmenu code completion 91set wildmenu wildmode=full | " wildmenu code completion
92set guifont="Droid Sans Mono for Powerline 10"
69 93
70" search... 94" search...
71set ignorecase smartcase | " if search pattern contains uppercase then search is case sensitive 95set ignorecase smartcase | " if search pattern contains uppercase then search is case sensitive
@@ -76,6 +100,10 @@ set novisualbell | " don't beep
76set noerrorbells | " don't beep 100set noerrorbells | " don't beep
77set clipboard=unnamedplus | " makes copy and paste work (autoselectplus might work as well) 101set clipboard=unnamedplus | " makes copy and paste work (autoselectplus might work as well)
78set number | " toggle line numbers 102set number | " toggle line numbers
103set formatprg=par | " set external formatting program to par, use gwip to format with this
104set laststatus=2 | " this is required for airline
105set cmdheight=1 | " controls how many lines the command line has
106set relativenumber | " displays current lines line no as zero point from where relative numbers are getting counted
79 107
80if has("multi_byte") 108if has("multi_byte")
81 set encoding=utf-8 | " we need default utf-8 encoding to use cool chars as line break and so on (see below) 109 set encoding=utf-8 | " we need default utf-8 encoding to use cool chars as line break and so on (see below)
@@ -108,6 +136,7 @@ if has("autocmd")
108 \ setlocal omnifunc=syntaxcomplete#Complete | 136 \ setlocal omnifunc=syntaxcomplete#Complete |
109 \ setlocal completeopt=longest,menuone | 137 \ setlocal completeopt=longest,menuone |
110 \ endif 138 \ endif
139 autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
111 endif 140 endif
112 augroup END 141 augroup END
113 142
@@ -158,6 +187,30 @@ endif
158 187
159"================================================================================ 188"================================================================================
160" custom commands... 189" custom commands...
190"
191" assign selection keys (these i missed a lot)
192nmap <S-Left> vh| " shift-left selects to the left
193xmap <S-Left> h| " ^^
194nmap <S-Right> vl| " shift-right selects to the right
195xmap <S-Right> l| " ^^
196nmap <S-Up> vk| " shift-up selects like other text editors
197xmap <S-Up> k| " ^^
198nmap <S-Down> vj| " shift down selects like other text editors
199xmap <S-Down> j| " ^^
200nmap <Home> ^| " default homing in code editors is the first letter of a line
201xmap <Home> 0| " go to the beginning of the line
202xmap <S-Home> 0| " ^^
203xmap <Tab> >gv| " indent lines (and retain selection)
204xmap <S-Tab> <gv| " unindent lines (and retain selection)
205nmap <S-PageUp> VH| " selects predessing paragraph
206nmap <S-PageDown> VL| " selects following paragraph
207nmap <C-S-PageUp> V{| " selects predessing paragraph
208nmap <C-S-PageDown> V}| " selects following paragraph
209
210
211
212
213
161map <C-h> <C-w>h|map <C-j> <C-w>j| " window navigation shortcuts 214map <C-h> <C-w>h|map <C-j> <C-w>j| " window navigation shortcuts
162map <C-k> <C-w>k|map <C-l> <C-w>l| " window navigation shortcuts 215map <C-k> <C-w>k|map <C-l> <C-w>l| " window navigation shortcuts
163 216
@@ -171,15 +224,14 @@ nnoremap j gj|nnoremap k gk| " do not jump over wrapped lines
171 224
172nnoremap $ g$| " and make the $ key position the cursor after the last char of that line, not before 225nnoremap $ g$| " and make the $ key position the cursor after the last char of that line, not before
173nnoremap <End> g$| " and make the <End> key position the cursor after the last char of that line 226nnoremap <End> g$| " and make the <End> key position the cursor after the last char of that line
174function ExtendedHome() 227" function ExtendedHome()
175 let column = col('.') 228" let column = col('.')
176 normal! ^ 229" normal! ^
177 if column == col('.') 230" if column == col('.')
178 normal! 0 231" normal! 0
179 endif 232" endif
180endfunction 233" endfunction
181noremap <Home> ^ 234" noremap <silent> <Home> :call ExtendedHome()<CR>
182noremap <silent> <Home> :call ExtendedHome()<CR>
183 235
184nnoremap <C-z> u 236nnoremap <C-z> u
185 237
@@ -198,7 +250,6 @@ inoremap <buffer> ( <C-X><C-o><C-p>(| " when opening a bracket: call the OmniCo
198set makeprg=make\ test 250set makeprg=make\ test
199nnoremap <F5> :!make<CR>| " classic key binding: press F5 to compile and execute (if you have a Makefile with make test doing that) 251nnoremap <F5> :!make<CR>| " classic key binding: press F5 to compile and execute (if you have a Makefile with make test doing that)
200 252
201
202"================================================================================ 253"================================================================================
203" deactivated on-demand commands (just in case one needs them one day) 254" deactivated on-demand commands (just in case one needs them one day)
204" 255"
..