Tôi muốn làm cho trạng thái của tôi trong vim nhiều thông tin và thú vị hơn, và vì điều đó tôi cần một số ý tưởng. Làm thế nào bạn tùy chỉnh trạng thái của bạn?
Tôi muốn làm cho trạng thái của tôi trong vim nhiều thông tin và thú vị hơn, và vì điều đó tôi cần một số ý tưởng. Làm thế nào bạn tùy chỉnh trạng thái của bạn?
Câu trả lời:
Biên tập:-
Lưu ý vim-Airlines đang đạt được một số lực kéo khi tùy chọn vimscript mới khi powerline đã biến thành python.
Có vẻ như đường dây điện là nơi nó ở vào những ngày này: -
Dòng trạng thái bình thường
Các dòng trạng thái tùy chỉnh cho các plugin khác (ví dụ: ctrlp )
Đây là của tôi:
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
Và đây là màu tôi đã sử dụng:
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
guifg
và guibg
dành cho gvim
. Nếu bạn đang chạy vim
trong một thiết bị đầu cuối, hãy thử ctermfg
và ctermbg
thay vào đó. Bạn cũng sẽ cần các màu khác nhau, các số 1-16 hoặc 1-256 tùy thuộc vào số lượng màu bạn đã bật trong vim. Màu sắc tương ứng cho mỗi số.
Đây là cái tôi sử dụng:
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.
Làm nổi bật trên? chức năng:
function! HighlightSearch()
if &hls
return 'H'
else
return ''
endif
endfunction
Màu sắc (được điều chỉnh từ 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
colorscheme
được đặt, nhưng tôi chỉ thấy một dòng trạng thái hai tông màu.
:colorscheme
echo &hls ? 'H' : ''
trong trường hợp của tôi:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Những gì tôi thấy hữu ích là để biết sao chép / dán bộ đệm (đăng ký) hiện đang hoạt động : %{v:register}
. Mặt khác, dòng trạng thái hoàn chỉnh của tôi trông gần giống như dòng tiêu chuẩn.
:set statusline=%<%f\ %h%m%r\ %y%=%{v:register}\ %-14.(%l,%c%V%)\ %P
v:register
vẻ rất hữu ích thực sự!
Một số lần ít hơn là nhiều hơn, bạn có thực sự cần biết tỷ lệ phần trăm thông qua các tập tin bạn đang có khi mã hóa? Còn loại tập tin thì sao?
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()}
Tôi cũng thích màu tối thiểu để không làm sao lãng mã.
Lấy từ: https://github.com/krisleech/vimfiles
Lưu ý: rvm#statusline
là Ruby cụ thể và fugitive#statusline
là git cụ thể.
Tôi hiện đang sử dụng cài đặt thanh trạng thái này:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Tệp .vimrc hoàn chỉnh của tôi: http://gabriev82.altervista.org/projects/vim-configuration/