Kustomisasi gaya kursor vim di bawah Terminal Mac OS X

4

Saya ingin menyesuaikan kursor vim menjadi blok persegi panjang yang berkedip. Saya mencoba ini dan ini dan banyak hal serupa lainnya setelah beberapa pencarian, tetapi tidak ada yang berfungsi seperti yang diharapkan.

Saat ini kursor saya adalah garis bawah non-berkedip abu-abu (mis. Garis bawah di bawah karakter "e" di baris terakhir di bawah), yang cukup sulit dikenali.

underline cursor

Ketika kursor lebih dari karakter kurung, itu menjadi blok. (Sebenarnya saya percaya ini adalah perubahan warna latar belakang) Yang saya inginkan adalah memiliki blok ini sepanjang waktu, dan berkedip.

block cursor

Saya tidak ada yang berhubungan dengan gaya kursor di file .vimrc saya. Saya menggunakan Mac OS X 10.9, Terminal Versi 2.4 (326), dan oh-my-zsh. Dalam pengaturan Terminal, saya menggunakan tema Pro dan mengatur kursor untuk menggarisbawahi. Saya dapat mengubah ini untuk memblokir sehingga kursor dalam vim juga berubah, tapi saya perlu kursor garis bawah di Terminal normal.

terminal settings

Xiao Jia
sumber

Jawaban:

1

Anda mungkin ingin mencoba menambahkan ini ke vimrc Anda:

if exists('$TMUX')
    let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
    let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
    let &t_SI = "\<Esc>]50;CursorShape=0\x7"
    let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif

Itu harus memberikan urutan melarikan diri yang benar untuk tmux atau iTerm.

Saya juga menemukan ini plugin yang secara otomatis mengubah kursor berdasarkan mode saat ini.

Nate Mara
sumber
2
Itu tidak bekerja. Saya tidak menggunakan tmux atau iTerm. Saya menggunakan Terminal.app yang disediakan oleh Mac OS X dan zsh.
Xiao Jia
Ditemukan pos ini dan saya menggunakan tmux - berfungsi dengan baik, terima kasih!
ostler.c
1

Anda dapat mencoba yang satu ini di blog Anda .vimrc:

let &t_SI="\033[4 q" " start insert mode
let &t_EI="\033[1 q" " end insert mode

Ini akan ditetapkan di bawah baris untuk mode inset dan blok untuk normal. Keterangan lebih lanjut: http://vt100.net/docs/vt510-rm/DECSCUSR

Juga dimungkinkan untuk bermain dengan perintah ini di terminal, di mana X bisa 0, 1, 2, 3 atau 4.

printf '\033[X q'
avdyushin
sumber