Bagaimana cara menyorot baris saat ini dan kursor dalam .vimrc?

14

Saya mencoba menyoroti garis saat ini serta posisi kursor di Vim. Inilah .vimrc saya:

set cursorline
hi CursorLine ctermbg=8 ctermfg=15 "8 = dark gray, 15 = white
hi Cursor ctermbg=15 ctermfg=8

Masalah yang saya alami adalah bahwa warna latar belakang garis saat ini menutupi warna latar belakang kursor, sehingga terlihat seperti ini:

Baris saat ini disorot tetapi kursor tidak.

Saya jelas dapat mengetahui di mana kursor berada karena warna foreground hampir hitam, tetapi ketika kursor berada pada spasi atau di awal / akhir garis saya tidak memiliki petunjuk di mana kursor kecuali saya memindahkannya.

Kursor berada di akhir baris, meskipun Anda tidak akan pernah mengetahuinya.

Apa yang saya lakukan salah di sini?

David Kennedy
sumber

Jawaban:

14

Anda harus mengubah warna garis kursor ke warna selain warna kursor Anda. Jika Anda berada di emulator terminal seperti statau rxvt, Vim tidak dapat mengubah warna kursor Anda; itu akan selalu menjadi warna aplikasi terminal Anda memutuskan untuk membuatnya. Hanya versi grafis Vim yang dapat mengubah warna kursor Anda.

Anda dapat mengubah warna kursor melalui konfigurasi terminal Anda.

Beberapa ~/.Xdefaults/ ~/.Xresourcescontoh:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Anda juga bisa menggunakan perintah Vim :set cursorcolumnuntuk meletakkan kursor di garis bidik.


sumber
2
vimdapat mengubah warna kursor, pada terminal-terminal seperti xtermitu memungkinkan Anda untuk mengubahnya secara dinamis ( printf '\033]12;#f50\7'misalnya). Anda juga dapat mengubahnya menjadi blok yang berkedip atau bergaris bawah ( \e[1 qatau \e[3 q)
Stéphane Chazelas
Itu menarik. Saya tidak tahu bahwa urutan pelarian itu ada. Ada informasi mengenai penggunaannya dengan vim di sini .
6

Jika Anda tidak ingin memasukkan perintah setiap kali Anda memulai Vim, Anda harus meletakkan perintah di .vimrcfile Anda .

whereis vim    
*#type in your linux terminal* 

(Anda akan memiliki lokasi yang berbeda, tetapi skema warna Anda akan ada di sini /usr/share/vim/vim74/colors/.

Anda dapat mendaftar skema warna yang ada dengan

ls /usr/share/vim/vim74/colors/    

coba skema warna yang berbeda dari yang terdaftar

:colorscheme desert
:colorscheme delek

Perintah berikut di Vim mengaktifkan garis vertikal di lokasi kursor.

set cursorcolumn 
hi CursorColumn ctermbg=8

untuk beralih (dengan tanda seru, bekerja dengan semua set-command)

set cursorcolumn!

sebagai contoh:

set cursorline
set cursorline!

hi CursorLine ctermbg=235
*#defines a gray colour for the horizontal line*

Berikut ini adalah tabel dengan warna xterm: tautan

Gunakan angka dengan mendefinisikan ctermbg=... (... = nomor warna dari tabel) Anda juga dapat mencoba ctermfg=..., tetapi tidak layak untuk menggunakannya.

spinne
sumber