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
|
set laststatus=2
if !has('gui_running')
set t_Co=256
endif
set noshowmode
function! StatusDiagnostic() abort
let info = get(b:, 'coc_diagnostic_info', {})
if empty(info) | return '' | endif
let msgs = []
if get(info, 'error', 0)
call add(msgs, 'E' . info['error'])
endif
if get(info, 'warning', 0)
call add(msgs, 'W' . info['warning'])
endif
return join(msgs, ' '). ' ' . get(g:, 'coc_status', '')
endfunction
let g:currentmode={
\ 'n' : 'NORMAL ',
\ 'no' : 'N·Operator Pending ',
\ 'v' : 'VISUAL ',
\ 'V' : 'V·Line ',
\ "\<C-V>" : 'V·Block ',
\ 's' : 'Select ',
\ 'S' : 'S·Line ',
\ 'x19' : 'S·Block ',
\ 'i' : 'INSERT ',
\ 'R' : 'REPLACE ',
\ 'Rv' : 'V·Replace ',
\ 'c' : 'Command ',
\ 'cv' : 'Vim Ex ',
\ 'ce' : 'Ex ',
\ 'r' : 'Prompt ',
\ 'rm' : 'More ',
\ 'r?' : 'Confirm ',
\ '!' : 'Shell ',
\ 't' : 'Terminal '
\}
function! ReadOnly()
if &readonly || !&modifiable
return ''
else
return ''
endfunction
set statusline=
set statusline+=\ %{toupper(g:currentmode[mode()])}
set statusline^=%{StatusDiagnostic()}
set statusline+=%8*\ %<%f\ %{ReadOnly()}\ %w
set statusline+=%{&modified?'[+]':''}
set statusline+=%=
set statusline+=\ %y
set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
set statusline+=\[%{&fileformat}\]
set statusline+=\ %p%%
set statusline+=\ %l:%c
set statusline+=\ "
|