Cygwin terminalindeki Vim'de bir blok imleci nasıl alabilirim?


46

Vim'de normal modda bir blok imleci kullanmaya alışkınım. Bu Vim paradigması ile mantıklı; tuşuna bastığınızda x, hangi karakterin silineceği açıktır.

Cygwin'i bir Windows bilgisayarına kurdum, ancak Vim'i terminalinde kullandığımda Iimleci normal modda bile kullanıyorum. İmleci bunun yerine blok olarak nasıl yapabilirim?

Yanıtlar:


73

Bu soru Cygwin posta listesinde uygun çıkış sıralarını bazı gizli değişkenleri ayarlayarak soruyu cevaplar. Şunu da ekle .vimrc:

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

2
Bu benim için çalıştı mintty bir linux sunucuya ssh kullanırken
zzapper

2
Çok teşekkür ederim. En sinir bozucu 2 vakada işe yarayan temiz bir çözümü
sevmeliyim

2
Güzel. Ne yazık ki, ConEmu'da bu, tüm oturum için imleci etkiler. Bu, vim'de beklendiği gibi çalıştığını söyledi. Aynı zamanda cygwin'in terminal emülatöründe iyi çalışır. Ama bunu kim kullanıyor? ;)
George Marian,

Neredeyse mükemmel ... ancak ekleme modundan çıkarken, imleci bir yöne hareket ettirene kadar bir satır imlecine döner.
Joe Coder

1
Cmder ile otomatik olarak yüklenen Vim sürümünde benim için çalıştı. Teşekkür ederim!
Bangash,

33

Cygwin terminal emülatöründe bunun için bir ayar var:

Pencere başlık çubuğunda> Seçenekler> Görünümler> İmleç> İmleç radyo düğmesi


Tamamlamak için, bu tür seçenekler cygwin'in olduğu diğer tüm pencereler ile aynıdır.
mveroone

6
Pro: benim .vimrcLinux veya Windows ile daha uyumlu olabilir .vimrc. Con: şimdi Iimleci bu modda istediğimde imleç ekleme modunda tutuyorum. +1
Kazark

5
hem istemi Komutanlığı'nda ve VIM, soru VIM imleci kontrol soruyordu ama bu bir çözüm, tüm kabuk oturumu için imleci etkiler
David Alpert

1
@EdRandall bu Cygwin terminali AND vim ile ilgili bir soru. Bu cevap, sorunun Cygwin tarafına aittir.
jared

1
Bu, soruyu tamamen cevaplamıyor. Vim 2 çeşit imleç kullanır. Normal, görsel veya komut modunda bu bir bloktur. Ekleme modunda, dikey bir çubuktur. Bu talimatlar, belirli bir terminal emülatöründeki (cygwin) toptan değişiklik içindir, ancak çoğu benzer bir şeye sahip olmalıdır. Böylece imleci terminalin her yerinde etkiler ve daha da önemlisi, Vim'in imleç işlevselliğini taklit etmez.
George Marian

3

Bir dosya oluşturun ~/.minttyrc, satırın altına ekleyin

CursorType=block

Ardından minttyCygwin'in varsayılan terminali olan yeniden başlatın .


0

Veya bir toplu iş dosyası oluşturabilirsiniz:

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

Ve koş.

Yanıp sönen imleci DOS komut penceresinden beğenmezseniz, pencereler de %COMSPEC%yerine kullanın /bin/env/...ve şaşırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.