Saya ingin membuat status saya dalam vim lebih informatif dan menarik, dan untuk itu saya perlu beberapa ide. Bagaimana Anda menyesuaikan garis status Anda?
@paxdiablo: Terkadang ada baiknya menghabiskan waktu untuk mengkonfigurasi alat sesuai kebutuhan Anda sehingga Anda dapat memanfaatkannya dengan lebih baik sehingga menghemat waktu saat bekerja.
DarkDust
10
Ini harus menjadi wiki komunitas karena tidak ada jawaban yang benar.
Randy Morris
3
Ini bukan tentang pendapat, melainkan memanfaatkan pengalaman dan keahlian individu yang lebih terpelajar. Penanya mencari informasi yang tidak dapat dia tebak, tidak meminta individu untuk bersaing tentang apa yang terbaik. Jawaban akan menghasilkan sejumlah opsi yang sebelumnya tidak ia miliki. Hanya karena sebuah pertanyaan memiliki lebih dari satu jawaban tidak berarti itu bukan pertanyaan berdasarkan keahlian teknis. Pertanyaan ini cocok dengan format SO dengan baik dan harus tetap terbuka.
NeilG
Jawaban:
134
Edit: -
Catatan vim-airline mendapatkan daya tarik sebagai opsi vimscript baru karena powerline telah menjadi python.
@ Gavin bagaimana saya bisa berubah ke segmen saluran listrik Anda? dapatkah Anda memperbarui beberapa skrip modifikasi segmen default? Cheers
Jerry Gao
@ Gavin I juga akan sangat menghargai jika Anda dapat membagikan bagaimana Anda memasukkan hal-hal seperti cabang Anda di vim-powerline
Eric Hu
1
Tidak ada yang istimewa yang dilakukan, dari: github.com/Lokaltog/vim-powerline#troubleshooting hanya pastikan Anda memiliki "let g: Powerline_symbols = 'fancy'" di file vimrc Anda dan telah memasang font yang dipasang.
Gavin Gilmour
ini adalah plugin yang bagus. Tapi kinerja bergulir saya ketika saya pertama kali membuka file sangat sangat buruk karena ini.
Ahmed Aeon Axan
2
@AhmedAeonAxan mencoba maskapai, ini dimulai dengan cepat (skrip murni). Dan membutuhkan lebih sedikit upaya untuk pengaturan, terutama dengan Vundle atau Pathogen. Dan begitu Anda menginstal font powerline, kurang lebih seperti maskapai penerbangan. github.com/Lokaltog/powerline-fonts
salju
60
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
c sebenarnya adalah jumlah byte, bahkan jika kadang-kadang disebut jumlah kolom bahkan dalam bantuan vim. Anda dapat menggunakan v untuk mendapatkan apa yang biasanya dimaksud dengan nomor kolom.
Ludwig Weinzierl
Terima kasih @Ludwig, saya belum menyadarinya. Saya akan mengedit jawabannya.
Tassos
8
Saya suka kejelasan dari komentar setiap nilai yang ditambahkan pada baris itu sendiri. Jika saya melakukannya 7 tahun yang lalu, saya tidak akan membuangnya ketika saya melakukan instalasi OS bersih terakhir saya.
Bruno Bronosky
Sweeet! Satu hal yang saya lewatkan menggunakan ini adalah garis yang memisahkan sesi terpisah
Julio Marins
1
@trusktr Perhatikan itu 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.
joelostblom
46
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.
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
Bagus, ini menghindari kebutuhan untuk memiliki plugin garis status mewah setidaknya untuk kasus penggunaan saya, eye candy :)
Nishant
1
Bagaimana Anda membuat warna bekerja?
trusktr
Saya mencoba meletakkan ini setelah semua colorschemediatur, tetapi saya hanya melihat status nada ganda.
trusktr
@trusktr, Tidak mudah dijelaskan .... Anda perlu meletakkan 2 blok pertama di file vimrc Anda dan blok warna di file colorscheme Anda saat ini. Anda dapat menemukan file colorscheme Anda saat ini dengan perintah ini::colorscheme
Reman
1
Pencarian sorotan Anda akan lebih pendek (tanpa fungsi apa pun) hanya dengan menggunakan operator ternary seperti ini -> echo &hls ? 'H' : '' dalam kasus saya:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
SergioAraujo
20
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.
Ya ampun, itu v:registermemang terlihat sangat berguna!
nperson325681
Apa artinya mendaftar menjadi aktif? Pemahaman register saya (buruk) adalah bahwa mereka pada dasarnya clipboard untuk menyimpan teks.
Roymunson
15
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.
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%%]\ %)
Jawaban:
Tampak powerline di mana itu pada hari ini: -
Baris status normal
Baris status khusus untuk plugin lain (mis. Ctrlp )
sumber
Ini milik saya:
Dan inilah warna yang saya gunakan:
sumber
guifg
danguibg
untukgvim
. Jika Anda menjalankanvim
di terminal, cobalahctermfg
danctermbg
sebaliknya. 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:
Sorot aktif? fungsi:
Warna (diadaptasi dari ligh2011.vim):
sumber
colorscheme
diatur, 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.sumber
v:register
memang 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?
Saya juga lebih suka warna minimal agar tidak mengalihkan perhatian dari kode.
Diambil dari: https://github.com/krisleech/vimfiles
Catatan:
rvm#statusline
spesifik untuk Ruby danfugitive#statusline
khusus untuk git.sumber
Saat ini saya menggunakan pengaturan bilah status ini:
File .vimrc saya yang lengkap: http://gabriev82.altervista.org/projects/vim-configuration/
sumber
set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P
Ini milikku, berikan sebagai saran
sumber