Mercurial > ec-dotfiles
annotate rc/vimrc @ 665:f93d4ac50080
[vimrc] Put back color for special (trailing) characters because otherwise it's invisible
| author | nanaya <me@nanaya.pro> |
|---|---|
| date | Fri, 10 Dec 2021 21:10:20 +0900 |
| parents | 5e62619207a8 |
| children | f5e12f656c03 |
| rev | line source |
|---|---|
| 607 | 1 if $TERM == 'screen' |
| 2 set t_Co=256 | |
| 3 endif | |
| 4 | |
|
525
1dd96a55b7ac
Invoke nocompatible earliest so it doesn't override anything preceeded it.
edogawaconan <me@myconan.net>
parents:
503
diff
changeset
|
5 set nocompatible |
| 424 | 6 set showmode " shows mode insert/replace/visual |
| 7 set showcmd " shows last command on screen | |
| 8 set nomodeline " disallow automatic vim command execution on arbitrary file | |
| 3 | 9 set autoindent |
| 10 set lazyredraw | |
| 424 | 11 set vb t_vb= " disables visual bell |
| 3 | 12 set ruler |
| 424 | 13 set backspace=2 " make backspace work like most other apps |
| 3 | 14 set esckeys |
| 15 set noerrorbells | |
| 637 | 16 set backupcopy=yes |
|
641
84a1e86d1afc
[vimrc] Prevent pointer to stick at the bottom of screen
nanaya <me@nanaya.pro>
parents:
637
diff
changeset
|
17 set scrolloff=5 |
|
544
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents:
542
diff
changeset
|
18 |
| 574 | 19 set softtabstop=4 tabstop=4 shiftwidth=4 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
|
20 |
|
535
70d4fb4f7d9f
copyindent instead of expandtab.
edogawaconan <me@myconan.net>
parents:
531
diff
changeset
|
21 set copyindent |
| 32 | 22 set title |
| 531 | 23 set incsearch |
| 24 set ignorecase | |
| 25 set smartcase | |
| 424 | 26 set hlsearch |
| 27 set ls=2 " always show status line | |
| 556 | 28 |
| 577 | 29 set hidden " it's buffer time? |
| 30 | |
| 648 | 31 set list listchars=tab:>-,trail:.,extends:>,nbsp:? |
|
570
3bd22b75cdc4
Make sure autocmd is executed when vim has it.
nanaya <me@myconan.net>
parents:
565
diff
changeset
|
32 |
|
665
f93d4ac50080
[vimrc] Put back color for special (trailing) characters because otherwise it's invisible
nanaya <me@nanaya.pro>
parents:
664
diff
changeset
|
33 if has("autocmd") |
|
f93d4ac50080
[vimrc] Put back color for special (trailing) characters because otherwise it's invisible
nanaya <me@nanaya.pro>
parents:
664
diff
changeset
|
34 autocmd colorscheme * highlight specialkey ctermfg=gray |
|
f93d4ac50080
[vimrc] Put back color for special (trailing) characters because otherwise it's invisible
nanaya <me@nanaya.pro>
parents:
664
diff
changeset
|
35 endif |
|
f93d4ac50080
[vimrc] Put back color for special (trailing) characters because otherwise it's invisible
nanaya <me@nanaya.pro>
parents:
664
diff
changeset
|
36 |
| 424 | 37 set number |
| 38 | |
|
529
de3ff51840a3
Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents:
525
diff
changeset
|
39 " 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
|
40 set clipboard=exclude:.* |
|
de3ff51840a3
Skip clipboard loading for speedup in current setup.
edogawaconan <me@myconan.net>
parents:
525
diff
changeset
|
41 |
| 571 | 42 if has("eval") |
| 43 execute pathogen#infect() | |
| 424 | 44 endif |
| 571 | 45 |
| 424 | 46 if has('filetype') |
| 47 filetype plugin indent on | |
| 48 endif | |
| 33 | 49 |
| 50 map <C-t><up> :tabr<cr> | |
| 51 map <C-t><down> :tabl<cr> | |
| 52 map <C-t><left> :tabp<cr> | |
| 53 map <C-t><right> :tabn<cr> | |
|
35
a8dc309a1b8a
Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents:
33
diff
changeset
|
54 map <C-t>p :tabp<cr> |
|
a8dc309a1b8a
Misc adjusments for vim keys
Edho Prima Arief <me@myconan.net>
parents:
33
diff
changeset
|
55 map <C-t>n :tabn<cr> |
| 33 | 56 map <C-t><C-t> :NERDTreeToggle<cr> |
| 57 map <C-t><C-m> :NERDTreeMirror<cr> | |
| 58 | |
| 531 | 59 " clears out highlight |
|
635
5d3ce722285a
Use function keys for some functions
nanaya <me@nanaya.pro>
parents:
626
diff
changeset
|
60 nmap <esc>[13~ <esc>:nohlsearch<cr> |
|
659
be98916b55df
[vimrc] Support xorg native function keys
nanaya <me@nanaya.pro>
parents:
650
diff
changeset
|
61 nmap <F3> <esc>:set paste!<cr> |
| 531 | 62 |
| 63 " toggles paste mode | |
|
635
5d3ce722285a
Use function keys for some functions
nanaya <me@nanaya.pro>
parents:
626
diff
changeset
|
64 nmap <esc>[14~ <esc>:set paste!<cr> |
|
659
be98916b55df
[vimrc] Support xorg native function keys
nanaya <me@nanaya.pro>
parents:
650
diff
changeset
|
65 nmap <F4> <esc>:set paste!<cr> |
| 531 | 66 |
| 67 " removes prefix for windows copypasta | |
|
635
5d3ce722285a
Use function keys for some functions
nanaya <me@nanaya.pro>
parents:
626
diff
changeset
|
68 nmap <esc>[15~ <esc>:set number! list!<cr> |
|
659
be98916b55df
[vimrc] Support xorg native function keys
nanaya <me@nanaya.pro>
parents:
650
diff
changeset
|
69 nmap <F5> <esc>:set number! list!<cr> |
| 424 | 70 |
| 467 | 71 " format JSON |
| 72 map <leader>j <esc>:%!python -m json.tool<cr> | |
| 73 | |
| 531 | 74 " visual navigation instead of logical |
| 75 nmap j gj | |
| 76 nmap k gk | |
| 77 | |
| 33 | 78 "autocmd VimEnter * NERDTree |
| 79 "autocmd BufEnter * NERDTreeMirror | |
| 80 | |
|
329
ea82caf6c059
Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents:
315
diff
changeset
|
81 if has('syntax') |
|
ea82caf6c059
Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents:
315
diff
changeset
|
82 syntax on |
|
650
6ca63cec0879
[vim] Disable foldmethod to speed up things
nanaya <me@nanaya.pro>
parents:
648
diff
changeset
|
83 set foldmethod=manual |
| 432 | 84 set nofoldenable |
|
446
3022c5d1f8ed
Back to dark theme for compatibility with non-personal systems.
Edho Arief <edho@myconan.net>
parents:
432
diff
changeset
|
85 set background=dark |
| 554 | 86 |
|
664
5e62619207a8
[vimrc] Remove custom nav color and remove srcery bg (for transparency)
nanaya <me@nanaya.pro>
parents:
662
diff
changeset
|
87 let g:srcery_bg_passthrough=1 |
|
662
f280738a90a6
[vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents:
659
diff
changeset
|
88 colorscheme srcery |
|
329
ea82caf6c059
Added test to verify vim version (lite or full).
Edho Arief <edho@myconan.net>
parents:
315
diff
changeset
|
89 endif |
| 350 | 90 |
| 91 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
|
92 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
|
93 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
|
94 endfunction |
|
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents:
542
diff
changeset
|
95 |
|
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents:
542
diff
changeset
|
96 function In4() |
| 574 | 97 set softtabstop=4 tabstop=4 shiftwidth=4 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
|
98 endfunction |
|
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents:
542
diff
changeset
|
99 |
| 574 | 100 function In4t() |
| 101 set softtabstop=4 tabstop=4 shiftwidth=4 noexpandtab | |
| 102 endfunction | |
|
563
7cac401e5c78
Add configurable to always assume two spaces/no tab in vim.
nanaya <me@myconan.net>
parents:
560
diff
changeset
|
103 |
|
545
c9ea8dd9d382
Remove unnecessary json configs.
edogawaconan <me@myconan.net>
parents:
544
diff
changeset
|
104 " required by syntax file |
|
c9ea8dd9d382
Remove unnecessary json configs.
edogawaconan <me@myconan.net>
parents:
544
diff
changeset
|
105 " 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
|
106 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
|
107 |
|
539
05785a85d603
Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents:
538
diff
changeset
|
108 autocmd BufNewFile,BufRead *.json set filetype=json |
|
05785a85d603
Fix json syntax highlighter config.
edogawaconan <me@myconan.net>
parents:
538
diff
changeset
|
109 autocmd BufNewFile,BufRead *.jsonp set filetype=json |
| 541 | 110 autocmd BufRead,BufNewFile *.blade.php set filetype=blade |
| 111 autocmd BufRead,BufNewFile *.coffee set filetype=coffee | |
| 112 autocmd BufRead,BufNewFile *.erb set filetype=eruby | |
| 113 autocmd BufRead,BufNewFile *.less set filetype=less | |
| 114 autocmd BufRead,BufNewFile *.scss set filetype=scss | |
| 115 autocmd BufRead,BufNewFile *.slim set filetype=slim | |
| 116 autocmd BufRead,BufNewFile Gemfile set filetype=ruby | |
| 560 | 117 autocmd BufRead,BufNewFile Vagrantfile set filetype=ruby |
| 541 | 118 autocmd BufRead,BufNewFile config.ru set filetype=ruby |
| 119 autocmd BufRead,BufNewFile supervisord.conf set filetype=dosini | |
| 622 | 120 autocmd BufRead,BufNewFile php-fpm.conf set filetype=dosini |
| 121 autocmd BufRead,BufNewFile */php-fpm.d/* set filetype=dosini | |
| 620 | 122 " stolen from https://github.com/leafgarland/typescript-vim/blob/master/ftdetect/typescript.vim |
| 123 " use `set filetype` to override default filetype=xml for *.ts files | |
| 124 autocmd BufNewFile,BufRead *.ts set filetype=typescript | |
| 647 | 125 autocmd BufNewFile,BufRead *.tsx set filetype=typescript |
|
544
75c30f2b4694
Add special setting for ruby, global default to 4/noet (ruby is 2/et).
edogawaconan <me@myconan.net>
parents:
542
diff
changeset
|
126 |
| 596 | 127 autocmd BufRead,BufNewFile *.nginx set ft=nginx |
| 128 autocmd BufRead,BufNewFile */etc/nginx/* set ft=nginx | |
| 129 autocmd BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx | |
| 130 autocmd BufRead,BufNewFile */opt/nginx/conf/* set ft=nginx | |
| 131 autocmd BufRead,BufNewFile nginx.conf set ft=nginx | |
| 132 | |
| 550 | 133 autocmd FileType coffee call In2() |
| 626 | 134 autocmd FileType css call In2() |
| 550 | 135 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
|
136 autocmd FileType ruby call In2() |
| 550 | 137 autocmd FileType scss call In2() |
| 575 | 138 autocmd FileType less call In2() |
| 550 | 139 autocmd FileType yaml call In2() |
|
616
dc2070cb5d71
Default json to 2 spaces indentation
nanaya <me@nanaya.pro>
parents:
607
diff
changeset
|
140 autocmd FileType json call In2() |
| 617 | 141 autocmd FileType javascript call In2() |
| 624 | 142 autocmd FileType typescript call In2() |
| 637 | 143 autocmd FileType typescriptreact call In2() |
| 596 | 144 autocmd FileType nginx setlocal commentstring=#\ %s |
| 602 | 145 autocmd FileType nginx setlocal iskeyword& |
| 350 | 146 endif |
|
412
7ceec4404caf
Add restore cursor position for vim.
Edho Arief <edho@myconan.net>
parents:
410
diff
changeset
|
147 |
|
448
e0e8de4135bc
Testing for function never returns true. Replaced with autocmd.
Edho Arief <edho@myconan.net>
parents:
446
diff
changeset
|
148 if has('autocmd') |
|
418
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
149 "Restore cursor position |
| 645 | 150 set viminfo='50,\"1000,<1000,:100,%,h,n~/.viminfo |
|
418
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
151 function! ResCur() |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
152 if line("'\"") <= line("$") |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
153 normal! g`" |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
154 return 1 |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
155 endif |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
156 endfunction |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
157 augroup resCur |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
158 autocmd! |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
159 autocmd BufWinEnter * call ResCur() |
|
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
160 augroup END |
|
496
6bdf99bfbe97
Newer git use different filename, I think.
edogawaconan <me@myconan.net>
parents:
494
diff
changeset
|
161 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
|
162 autocmd BufWinEnter .git/COMMIT_EDITMSG exe "normal! gg" |
|
418
c0ac21407903
Disable features on vim basic.
Edho Arief <edho@myconan.net>
parents:
412
diff
changeset
|
163 endif |
| 424 | 164 |
| 165 if has('statusline') | |
| 166 " Status line detail: | |
| 167 " %f file path | |
| 168 " %y file type between braces (if defined) | |
| 169 " %([%R%M]%) read-only, modified and modifiable flags between braces | |
| 170 " %{'!'[&ff=='default_file_format']} | |
| 171 " shows a '!' if the file format is not the platform | |
| 172 " default | |
| 173 " %{'$'[!&list]} shows a '*' if in list mode | |
| 174 " %{'~'[&pm=='']} shows a '~' if in patchmode | |
| 175 " (%{synIDattr(synID(line('.'),col('.'),0),'name')}) | |
| 176 " only for debug : display the current syntax item name | |
| 177 " %= right-align following items | |
| 178 " #%n buffer number | |
| 179 " %l/%L,%c%V line number, total number of lines, and column number | |
| 180 function SetStatusLineStyle() | |
| 181 if &stl == '' || &stl =~ 'synID' | |
| 182 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]}%{'~'[&pm=='']}%=#%n %l/%L,%c%V " | |
| 183 else | |
| 184 let &stl="%f %y%([%R%M]%)%{'!'[&ff=='".&ff."']}%{'$'[!&list]} (%{synIDattr(synID(line('.'),col('.'),0),'name')})%=#%n %l/%L,%c%V " | |
| 185 endif | |
| 186 endfunc | |
| 187 " Switch between the normal and vim-debug modes in the status line | |
| 188 nmap _ds :call SetStatusLineStyle()<CR> | |
| 189 call SetStatusLineStyle() | |
| 190 " Window title | |
| 191 if has('title') | |
|
493
1ad9091c464e
Properly set window name for vim.
edogawaconan <me@myconan.net>
parents:
476
diff
changeset
|
192 if &term == "screen" |
|
1ad9091c464e
Properly set window name for vim.
edogawaconan <me@myconan.net>
parents:
476
diff
changeset
|
193 set t_ts=]0; |
|
1ad9091c464e
Properly set window name for vim.
edogawaconan <me@myconan.net>
parents:
476
diff
changeset
|
194 set t_fs= |
|
1ad9091c464e
Properly set window name for vim.
edogawaconan <me@myconan.net>
parents:
476
diff
changeset
|
195 endif |
| 494 | 196 set title |
| 197 let &titlestring = $user | |
| 424 | 198 endif |
| 199 endif | |
| 618 | 200 |
| 619 | 201 if filereadable($HOME."/.vimrc.local") |
| 202 source $HOME/.vimrc.local | |
| 618 | 203 endif |
