-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc
154 lines (137 loc) · 4.43 KB
/
.vimrc
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
" -- // initialize
"set all&
autocmd!
filetype plugin on
source ~/wk/dot/.vimrc.plug
source ~/wk/dot/.vimrc.set
source ~/wk/dot/.vimrc.keymap
" terminal mode for neovim
if has('nvim')
noremap <space><space> :<C-u>terminal<cr><C-u>fish<cr>
"noremap <space><space> :<C-u>terminal<cr><C-u>fish<cr><C-u>ls -la<cr>
"noremap <space><space> :<C-u>vsplit<cr>:<C-u>terminal<cr>fish<cr>ls -la<cr>
"tnoremap <silent> <esc> <C-\><C-n>
tnoremap jj <C-\><C-n>
tnoremap <silent><esc> <C-\><C-n>
tnoremap <C-j> <C-\><C-n>
tnoremap <C-t> <up>
tnoremap <C-g> <down>
tnoremap <C-s> :<C-u>vsplit<cr>
tnoremap <A-l> <C-w>l
tnoremap <A-j> <C-w>j
tnoremap <A-k> <C-w>k
tnoremap <A-h> <C-w>h
tnoremap <C-t> <C-\><C-n>:<C-u>tabnew<cr>
tnoremap <A-tab> <C-\><C-n>gt
tnoremap <S-tab> <C-\><C-n>gT
tnoremap ZZ <C-\><C-n>:q<cr>
endif
" python
augroup Python
autocmd!
autocmd FileType python setl autoindent
autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd FileType python setl tabstop=2 expandtab shiftwidth=2 softtabstop=2
augroup end
unlet! g:python_highlight_all
unlet! g:python_no_doctest_code_highlight
unlet! g:python_no_doctest_highlight
" let gpython_highlight_all = 0
" let g:python_no_doctest_code_highlight = 1
let g:python_no_doctest_highlight = 1
" rust
augroup Rust
autocmd!
autocmd FileType rust setl tabstop=2 expandtab shiftwidth=2 softtabstop=2
syntax enable
filetype plugin indent on
let g:rustfmt_autosave = 1
augroup end
" go
"autocmd BufNewFile,BufRead *.go.tpl setfiletype go
"au BufRead,BufNewFile *.gohtml set filetype=gohtmltmpl
au BufRead,BufNewFile *.go.tpl set filetype=gohtmltmpl
autocmd BufNewFile,BufRead *.gohtml set hetype=cs
" toml
au BufRead,BufNewFile .air.conf set filetype=toml
set t_Co=256
if has('nvim')
" set termguicolors
colorscheme iceberg
" colorscheme wolfpack
elseif !has ('nvim')
colorscheme iceberg
" colorscheme default
" colorscheme elflord
end
" -- // keep terminal background color
autocmd ColorScheme * highlight Normal ctermbg=none guibg=none
autocmd ColorScheme * highlight LineNr ctermbg=none guibg=none
" autocmd ColorScheme * highlight LineNr ctermfg=none guifg=none
autocmd ColorScheme * highlight Pmenu guibg=#606060
autocmd ColorScheme * highlight PmenuSel guifg=#dddd00 guibg=#1f82cd
autocmd ColorScheme * highlight PmenuSbar guibg=#d6d6d6
autocmd ColorScheme * highlight PmenuThumb guifg=#3cac3c
syntax on
" -- // vimshell
let g:vimshell_prompt_expr = 'getcwd()." $ "'
let g:vimshell_prompt_pattern = '^\f\+ $ '
let g:vimshell_split_command = 'vsplit'
let g:vimshell_popup_command = 'vsplit'
" autocmd ColorScheme * highlight VimshellPrompt ctermfg=none guifg=none
" -- // terminal mode
let g:terminal_color_0 = '#2e3436'
let g:terminal_color_1 = '#cc0000'
let g:terminal_color_2 = '#4e9a06'
let g:terminal_color_3 = '#c4a000'
let g:terminal_color_4 = '#3465a4'
let g:terminal_color_5 = '#75507b'
let g:terminal_color_6 = '#0b939b'
let g:terminal_color_7 = '#d3d7cf'
let g:terminal_color_8 = '#555753'
let g:terminal_color_9 = '#ef2929'
let g:terminal_color_10 = '#8ae234'
let g:terminal_color_11 = '#fce94f'
let g:terminal_color_12 = '#729fcf'
let g:terminal_color_13 = '#ad7fa8'
let g:terminal_color_14 = '#00f5e9'
let g:terminal_color_15 = '#eeeeec'
" :SyntaxInfo
" form "http://cohama.hateblo.jp/entry/2013/08/11/020849"
function! s:get_syn_id(transparent)
let synid = synID(line("."), col("."), 1)
if a:transparent
return synIDtrans(synid)
else
return synid
endif
endfunction
function! s:get_syn_attr(synid)
let name = synIDattr(a:synid, "name")
let ctermfg = synIDattr(a:synid, "fg", "cterm")
let ctermbg = synIDattr(a:synid, "bg", "cterm")
let guifg = synIDattr(a:synid, "fg", "gui")
let guibg = synIDattr(a:synid, "bg", "gui")
return {
\ "name": name,
\ "ctermfg": ctermfg,
\ "ctermbg": ctermbg,
\ "guifg": guifg,
\ "guibg": guibg}
endfunction
function! s:get_syn_info()
let baseSyn = s:get_syn_attr(s:get_syn_id(0))
echo "name: " . baseSyn.name .
\ " ctermfg: " . baseSyn.ctermfg .
\ " ctermbg: " . baseSyn.ctermbg .
\ " guifg: " . baseSyn.guifg .
\ " guibg: " . baseSyn.guibg
let linkedSyn = s:get_syn_attr(s:get_syn_id(1))
echo "link to"
echo "name: " . linkedSyn.name .
\ " ctermfg: " . linkedSyn.ctermfg .
\ " ctermbg: " . linkedSyn.ctermbg .
\ " guifg: " . linkedSyn.guifg .
\ " guibg: " . linkedSyn.guibg
endfunction
command! SyntaxInfo call s:get_syn_info()