Saya menggunakan vim dalam beberapa konteks yang berbeda; biasanya, saya suka meletakkan ini di .vimrc
:
let &t_ti.="\<Esc>[1 q"
let &t_SI.="\<Esc>[5 q"
let &t_EI.="\<Esc>[1 q"
let &t_te.="\<Esc>[0 q"
Ini membuatnya sehingga mode insert dan normal menggunakan kursor berbeda (mode normal adalah kursor blok dan mode insert adalah garis vertikal). Ini berfungsi baik untuk saya dengan cygwin, xterm, dan juga rvxt. Namun, setiap kali saya menggunakan layar GNU, kursor saya tidak lagi berubah. Saya telah melihat referensi untuk memperbaiki ini untuk tmux (misalnya di sini: Bentuk kursor di bawah vim + tmux ), tetapi tidak ada yang saya coba untuk Layar yang berfungsi. Untuk saat ini, saya menggunakan ini di .vimrc
:
"Underline currently edited line
if !has("gui_running")
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
endif
Itu membuatnya sehingga ketika dalam mode insert garis saat ini digarisbawahi (yang :has("gui_running")
mencegahnya mulai berlaku di gvim). Saya juga menggunakan set laststatus=2
untuk menjaga status bar di bagian bawah, yang juga membantu. Saya hanya berharap itu bekerja lebih seperti gvim. Adakah yang menemukan perbaikan untuk ini?
sumber
Jawaban:
Saya pikir saya sudah mengetahuinya, meskipun saya tidak sepenuhnya mengerti perbaikannya. Ini tampaknya berfungsi untuk mintty, xterm, dan rxvt:
Ini bersandar pada screenrc Anda memiliki sesuatu seperti "term screen" atau "term screen-256color" sehingga file vimrc dapat mengidentifikasi terminal mana Anda berada. Terminal yang tersisa hanya saya gunakan secara teratur di mana ini tidak berfungsi adalah Putty, tapi saya pikir itu benar-benar tidak mendukung perintah terminal untuk mengubah bentuk kursor. Mintty dicabut dari Putty beberapa waktu lalu, dan saya melihat di sini ( https://www.cygwin.com/ml/cygwin-announce/2009-07/msg00011.html ) bahwa dukungan DECSCUSR ditambahkan ke mintty setelah garpu itu.
Ini cukup baik bagi saya - jika saya ssh'ing ke dalam mesin di mana saya benar-benar ingin kursor blok saya di Vim, saya kira saya bisa cygwin / ssh atau PuTTY / XMing / rxvt jalan melalui itu alih-alih Putty.
sumber
echo &term
outputscreen
jadi saya berubah regexp di baris mulaiif &term ...
untukscreen.*
.