Saya ingin membuat status saya dalam vim lebih informatif dan menarik, dan untuk itu saya perlu beberapa ide. Bagaimana Anda menyesuaikan garis status Anda?
Saya ingin membuat status saya dalam vim lebih informatif dan menarik, dan untuk itu saya perlu beberapa ide. Bagaimana Anda menyesuaikan garis status Anda?
Jawaban:
Edit: -
Catatan vim-airline mendapatkan daya tarik sebagai opsi vimscript baru karena powerline telah menjadi python.
Tampak powerline di mana itu pada hari ini: -
Baris status normal

Baris status khusus untuk plugin lain (mis. Ctrlp )

Ini milik saya:
set statusline=
set statusline +=%1*\ %n\ %* "buffer number
set statusline +=%5*%{&ff}%* "file format
set statusline +=%3*%y%* "file type
set statusline +=%4*\ %<%F%* "full path
set statusline +=%2*%m%* "modified flag
set statusline +=%1*%=%5l%* "current line
set statusline +=%2*/%L%* "total lines
set statusline +=%1*%4v\ %* "virtual column number
set statusline +=%2*0x%04B\ %* "character under cursor

Dan inilah warna yang saya gunakan:
hi User1 guifg=#eea040 guibg=#222222
hi User2 guifg=#dd3333 guibg=#222222
hi User3 guifg=#ff66ff guibg=#222222
hi User4 guifg=#a0ee40 guibg=#222222
hi User5 guifg=#eeee40 guibg=#222222
guifgdan guibguntuk gvim. Jika Anda menjalankan vimdi terminal, cobalah ctermfgdan ctermbgsebaliknya. Anda juga akan membutuhkan warna yang berbeda, angka 1-16 atau 1-256 tergantung pada berapa banyak warna yang telah Anda aktifkan di vim. Warna yang sesuai untuk setiap nomor.
Ini yang saya gunakan:
set statusline=
set statusline+=%7*\[%n] "buffernr
set statusline+=%1*\ %<%F\ "File+path
set statusline+=%2*\ %y\ "FileType
set statusline+=%3*\ %{''.(&fenc!=''?&fenc:&enc).''} "Encoding
set statusline+=%3*\ %{(&bomb?\",BOM\":\"\")}\ "Encoding2
set statusline+=%4*\ %{&ff}\ "FileFormat (dos/unix..)
set statusline+=%5*\ %{&spelllang}\%{HighlightSearch()}\ "Spellanguage & Highlight on?
set statusline+=%8*\ %=\ row:%l/%L\ (%03p%%)\ "Rownumber/total (%)
set statusline+=%9*\ col:%03c\ "Colnr
set statusline+=%0*\ \ %m%r%w\ %P\ \ "Modified? Readonly? Top/bot.
Sorot aktif? fungsi:
function! HighlightSearch()
if &hls
return 'H'
else
return ''
endif
endfunction
Warna (diadaptasi dari ligh2011.vim):
hi User1 guifg=#ffdad8 guibg=#880c0e
hi User2 guifg=#000000 guibg=#F4905C
hi User3 guifg=#292b00 guibg=#f4f597
hi User4 guifg=#112605 guibg=#aefe7B
hi User5 guifg=#051d00 guibg=#7dcc7d
hi User7 guifg=#ffffff guibg=#880c0e gui=bold
hi User8 guifg=#ffffff guibg=#5b7fbb
hi User9 guifg=#ffffff guibg=#810085
hi User0 guifg=#ffffff guibg=#094afe

colorschemediatur, tetapi saya hanya melihat status nada ganda.
:colorscheme
echo &hls ? 'H' : '' dalam kasus saya:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Apa yang saya temukan berguna adalah untuk mengetahui copy / paste penyangga (mendaftar) saat ini aktif: %{v:register}. Kalau tidak, baris status lengkap saya hampir persis seperti garis standar.
:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P
v:registermemang terlihat sangat berguna!
Beberapa kali lebih sedikit lebih banyak, apakah Anda benar-benar perlu mengetahui persentase melalui file Anda saat coding? Bagaimana dengan jenis file?
set statusline=%F%m%r%h%w\
set statusline+=%{fugitive#statusline()}\
set statusline+=[%{strlen(&fenc)?&fenc:&enc}]
set statusline+=\ [line\ %l\/%L]
set statusline+=%{rvm#statusline()}


Saya juga lebih suka warna minimal agar tidak mengalihkan perhatian dari kode.
Diambil dari: https://github.com/krisleech/vimfiles
Catatan: rvm#statuslinespesifik untuk Ruby dan fugitive#statuslinekhusus untuk git.
Saat ini saya menggunakan pengaturan bilah status ini:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
File .vimrc saya yang lengkap: http://gabriev82.altervista.org/projects/vim-configuration/