Mercurial > ec-dotfiles
annotate rc/vimrc @ 570:3bd22b75cdc4
Make sure autocmd is executed when vim has it.
| author | nanaya <me@myconan.net> | 
|---|---|
| date | Wed, 24 Jun 2015 13:33:02 +0900 | 
| parents | 85dca9054bac | 
| children | 9e936a929c2d | 
| rev | line source | 
|---|---|
| 
525
 
1dd96a55b7ac
Invoke nocompatible earliest so it doesn't override anything preceeded it.
 
edogawaconan <me@myconan.net> 
parents: 
503 
diff
changeset
 | 
1 set nocompatible | 
| 424 | 2 set showmode " shows mode insert/replace/visual | 
| 3 set showcmd " shows last command on screen | |
| 4 set nomodeline " disallow automatic vim command execution on arbitrary file | |
| 3 | 5 set autoindent | 
| 6 set lazyredraw | |
| 424 | 7 set vb t_vb= " disables visual bell | 
| 3 | 8 set ruler | 
| 424 | 9 set backspace=2 " make backspace work like most other apps | 
| 3 | 10 set esckeys | 
| 11 set noerrorbells | |
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
12 | 
| 565 | 13 set softtabstop=2 tabstop=2 shiftwidth=2 expandtab | 
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
14 | 
| 
535
 
70d4fb4f7d9f
copyindent instead of expandtab.
 
edogawaconan <me@myconan.net> 
parents: 
531 
diff
changeset
 | 
15 set copyindent | 
| 32 | 16 set title | 
| 531 | 17 set incsearch | 
| 18 set ignorecase | |
| 19 set smartcase | |
| 424 | 20 set hlsearch | 
| 21 set ls=2 " always show status line | |
| 556 | 22 | 
| 424 | 23 set list listchars=tab:>-,trail:.,extends:> | 
| 
570
 
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
 
nanaya <me@myconan.net> 
parents: 
565 
diff
changeset
 | 
24 | 
| 
 
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
 
nanaya <me@myconan.net> 
parents: 
565 
diff
changeset
 | 
25 if has("autocmd") | 
| 
 
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
 
nanaya <me@myconan.net> 
parents: 
565 
diff
changeset
 | 
26 autocmd colorscheme * highlight specialkey ctermfg=gray | 
| 
 
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
 
nanaya <me@myconan.net> 
parents: 
565 
diff
changeset
 | 
27 autocmd colorscheme * highlight linenr ctermfg=gray ctermbg=black | 
| 
 
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
 
nanaya <me@myconan.net> 
parents: 
565 
diff
changeset
 | 
28 endif | 
| 556 | 29 | 
| 424 | 30 set number | 
| 31 | |
| 
529
 
de3ff51840a3
Skip clipboard loading for speedup in current setup.
 
edogawaconan <me@myconan.net> 
parents: 
525 
diff
changeset
 | 
32 " http://stackoverflow.com/questions/14635295/vim-takes-a-very-long-time-to-start-up | 
| 
 
de3ff51840a3
Skip clipboard loading for speedup in current setup.
 
edogawaconan <me@myconan.net> 
parents: 
525 
diff
changeset
 | 
33 set clipboard=exclude:.* | 
| 
 
de3ff51840a3
Skip clipboard loading for speedup in current setup.
 
edogawaconan <me@myconan.net> 
parents: 
525 
diff
changeset
 | 
34 | 
| 424 | 35 if has('call') | 
| 36 call pathogen#infect() | |
| 37 endif | |
| 38 if has('filetype') | |
| 39 filetype plugin indent on | |
| 40 endif | |
| 33 | 41 | 
| 42 map <C-t><up> :tabr<cr> | |
| 43 map <C-t><down> :tabl<cr> | |
| 44 map <C-t><left> :tabp<cr> | |
| 45 map <C-t><right> :tabn<cr> | |
| 
35
 
a8dc309a1b8a
Misc adjusments for vim keys
 
Edho Prima Arief <me@myconan.net> 
parents: 
33 
diff
changeset
 | 
46 map <C-t>p :tabp<cr> | 
| 
 
a8dc309a1b8a
Misc adjusments for vim keys
 
Edho Prima Arief <me@myconan.net> 
parents: 
33 
diff
changeset
 | 
47 map <C-t>n :tabn<cr> | 
| 33 | 48 map <C-t><C-t> :NERDTreeToggle<cr> | 
| 49 map <C-t><C-m> :NERDTreeMirror<cr> | |
| 50 | |
| 531 | 51 " clears out highlight | 
| 52 nmap <leader>c :nohlsearch<cr> | |
| 53 | |
| 54 " toggles paste mode | |
| 55 nmap <leader>p :set paste!<cr> | |
| 56 | |
| 57 " removes prefix for windows copypasta | |
| 424 | 58 nmap _pa :set number! list!<cr> | 
| 59 | |
| 467 | 60 " format JSON | 
| 61 map <leader>j <esc>:%!python -m json.tool<cr> | |
| 62 | |
| 531 | 63 " visual navigation instead of logical | 
| 64 nmap j gj | |
| 65 nmap k gk | |
| 66 | |
| 33 | 67 "autocmd VimEnter * NERDTree | 
| 68 "autocmd BufEnter * NERDTreeMirror | |
| 69 | |
| 
329
 
ea82caf6c059
Added test to verify vim version (lite or full).
 
Edho Arief <edho@myconan.net> 
parents: 
315 
diff
changeset
 | 
70 if has('syntax') | 
| 
 
ea82caf6c059
Added test to verify vim version (lite or full).
 
Edho Arief <edho@myconan.net> 
parents: 
315 
diff
changeset
 | 
71 syntax on | 
| 431 | 72 set foldmethod=syntax | 
| 432 | 73 set nofoldenable | 
| 
446
 
3022c5d1f8ed
Back to dark theme for compatibility with non-personal systems.
 
Edho Arief <edho@myconan.net> 
parents: 
432 
diff
changeset
 | 
74 set background=dark | 
| 554 | 75 | 
| 555 | 76 colorscheme vividchalk | 
| 
329
 
ea82caf6c059
Added test to verify vim version (lite or full).
 
Edho Arief <edho@myconan.net> 
parents: 
315 
diff
changeset
 | 
77 endif | 
| 350 | 78 | 
| 79 if has("autocmd") | |
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
80 function In2() | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
81 set softtabstop=2 tabstop=2 shiftwidth=2 expandtab | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
82 endfunction | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
83 | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
84 function In4() | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
85 set softtabstop=4 tabstop=4 shiftwidth=4 noexpandtab | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
86 endfunction | 
| 
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
87 | 
| 565 | 88 if $EC_VIM_SPACING == "4" | 
| 89 call In4() | |
| 
563
 
7cac401e5c78
Add configurable to always assume two spaces/no tab in vim.
 
nanaya <me@myconan.net> 
parents: 
560 
diff
changeset
 | 
90 endif | 
| 
 
7cac401e5c78
Add configurable to always assume two spaces/no tab in vim.
 
nanaya <me@myconan.net> 
parents: 
560 
diff
changeset
 | 
91 | 
| 
545
 
c9ea8dd9d382
Remove unnecessary json configs.
 
edogawaconan <me@myconan.net> 
parents: 
544 
diff
changeset
 | 
92 " required by syntax file | 
| 
 
c9ea8dd9d382
Remove unnecessary json configs.
 
edogawaconan <me@myconan.net> 
parents: 
544 
diff
changeset
 | 
93 " reference: https://github.com/elzr/vim-json/blob/master/ftplugin/json.vim | 
| 
 
c9ea8dd9d382
Remove unnecessary json configs.
 
edogawaconan <me@myconan.net> 
parents: 
544 
diff
changeset
 | 
94 let g:vim_json_syntax_conceal = 1 | 
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
95 | 
| 
539
 
05785a85d603
Fix json syntax highlighter config.
 
edogawaconan <me@myconan.net> 
parents: 
538 
diff
changeset
 | 
96 autocmd BufNewFile,BufRead *.json set filetype=json | 
| 
 
05785a85d603
Fix json syntax highlighter config.
 
edogawaconan <me@myconan.net> 
parents: 
538 
diff
changeset
 | 
97 autocmd BufNewFile,BufRead *.jsonp set filetype=json | 
| 541 | 98 autocmd BufRead,BufNewFile *.blade.php set filetype=blade | 
| 99 autocmd BufRead,BufNewFile *.coffee set filetype=coffee | |
| 100 autocmd BufRead,BufNewFile *.erb set filetype=eruby | |
| 101 autocmd BufRead,BufNewFile *.less set filetype=less | |
| 102 autocmd BufRead,BufNewFile *.scss set filetype=scss | |
| 103 autocmd BufRead,BufNewFile *.slim set filetype=slim | |
| 104 autocmd BufRead,BufNewFile Gemfile set filetype=ruby | |
| 560 | 105 autocmd BufRead,BufNewFile Vagrantfile set filetype=ruby | 
| 541 | 106 autocmd BufRead,BufNewFile config.ru set filetype=ruby | 
| 107 autocmd BufRead,BufNewFile supervisord.conf set filetype=dosini | |
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
108 | 
| 550 | 109 autocmd FileType coffee call In2() | 
| 110 autocmd FileType eruby call In2() | |
| 
544
 
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
 
edogawaconan <me@myconan.net> 
parents: 
542 
diff
changeset
 | 
111 autocmd FileType ruby call In2() | 
| 550 | 112 autocmd FileType scss call In2() | 
| 113 autocmd FileType yaml call In2() | |
| 350 | 114 endif | 
| 
412
 
7ceec4404caf
Add restore cursor position for vim.
 
Edho Arief <edho@myconan.net> 
parents: 
410 
diff
changeset
 | 
115 | 
| 
448
 
e0e8de4135bc
Testing for function never returns true. Replaced with autocmd.
 
Edho Arief <edho@myconan.net> 
parents: 
446 
diff
changeset
 | 
116 if has('autocmd') | 
| 
418
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
117 "Restore cursor position | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
118 set viminfo='10,\"100,:20,%,n~/.viminfo | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
119 function! ResCur() | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
120 if line("'\"") <= line("$") | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
121 normal! g`" | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
122 return 1 | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
123 endif | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
124 endfunction | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
125 augroup resCur | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
126 autocmd! | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
127 autocmd BufWinEnter * call ResCur() | 
| 
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
128 augroup END | 
| 
496
 
6bdf99bfbe97
Newer git use different filename, I think.
 
edogawaconan <me@myconan.net> 
parents: 
494 
diff
changeset
 | 
129 autocmd BufWinEnter */.git/COMMIT_EDITMSG exe "normal! gg" | 
| 
451
 
abb434518e1f
Always start editing git commit message from line 1.
 
Edho Arief <edho@myconan.net> 
parents: 
448 
diff
changeset
 | 
130 autocmd BufWinEnter .git/COMMIT_EDITMSG exe "normal! gg" | 
| 
418
 
c0ac21407903
Disable features on vim basic.
 
Edho Arief <edho@myconan.net> 
parents: 
412 
diff
changeset
 | 
131 endif | 
| 424 | 132 | 
| 133 if has('statusline') | |
| 134 " Status line detail: | |
| 135 " %f file path | |
| 136 " %y file type between braces (if defined) | |
| 137 " %([%R%M]%) read-only, modified and modifiable flags between braces | |
| 138 " %{'!'[&ff=='default_file_format']} | |
| 139 " shows a '!' if the file format is not the platform | |
| 140 " default | |
| 141 " %{'$'[!&list]} shows a '*' if in list mode | |
| 142 " %{'~'[&pm=='']} shows a '~' if in patchmode | |
| 143 " (%{synIDattr(synID(line('.'),col('.'),0),'name')}) | |
| 144 " only for debug : display the current syntax item name | |
| 145 " %= right-align following items | |
| 146 " #%n buffer number | |
| 147 " %l/%L,%c%V line number, total number of lines, and column number | |
| 148 function SetStatusLineStyle() | |
| 149 if &stl == '' || &stl =~ 'synID' | |
| 150 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]}%{'~'[&pm=='']}%=#%n %l/%L,%c%V " | |
| 151 else | |
| 152 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]} (%{synIDattr(synID(line('.'),col('.'),0),'name')})%=#%n %l/%L,%c%V " | |
| 153 endif | |
| 154 endfunc | |
| 155 " Switch between the normal and vim-debug modes in the status line | |
| 156 nmap _ds :call SetStatusLineStyle()<CR> | |
| 157 call SetStatusLineStyle() | |
| 158 " Window title | |
| 159 if has('title') | |
| 
493
 
1ad9091c464e
Properly set window name for vim.
 
edogawaconan <me@myconan.net> 
parents: 
476 
diff
changeset
 | 
160 if &term == "screen" | 
| 
 
1ad9091c464e
Properly set window name for vim.
 
edogawaconan <me@myconan.net> 
parents: 
476 
diff
changeset
 | 
161 set t_ts=]0; | 
| 
 
1ad9091c464e
Properly set window name for vim.
 
edogawaconan <me@myconan.net> 
parents: 
476 
diff
changeset
 | 
162 set t_fs= | 
| 
 
1ad9091c464e
Properly set window name for vim.
 
edogawaconan <me@myconan.net> 
parents: 
476 
diff
changeset
 | 
163 endif | 
| 494 | 164 set title | 
| 165 let &titlestring = $user | |
| 424 | 166 endif | 
| 167 endif | 
