CygwinターミナルのVimでブロックカーソルを取得するにはどうすればよいですか?


46

Vimの通常モードでブロックカーソルを使用することに慣れています。これはVimパラダイムで理にかなっています。を押すとx、削除される文字が明確になります。

CygwinをWindowsコンピューターにインストールしましたが、その端末でVimを使用するとI、通常モードでもカーソルが表示されます。カーソルを代わりにブロックにするにはどうすればよいですか?

回答:


73

Cygwinメーリングリストのこの質問は、いくつかの難解な変数を適切なエスケープシーケンスに設定することで質問に答えています。これを追加してください.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
Linuxサーバへのsshにminttyを使用している場合、これは私のために働いた
zzapper

2
どうもありがとうございます。Gottaは、最も厄介な2つのケースで機能するクリーンなソリューションが大好きです:)
rld。

2
いいね 残念ながら、ConEmuでは、これはセッション全体のカーソルに影響します。とはいえ、vimでは期待どおりに機能します。また、cygwinのターミナルエミュレーターでも正常に動作します。しかし、誰がそれを使用しますか?;)
ジョージマリアン

ほぼ完璧ですが...挿入モードを終了すると、カーソルをある方向に移動するまで、ラインカーソルに戻ります。
ジョーコーダー

1
Cmderで自動的にインストールされるVimのバージョンで私のために働きました。ありがとうございました!
Bangash

33

cygwinターミナルエミュレーターには、そのための設定があります。

ウィンドウのタイトルバーを右クリックし、[オプション]> [外観]> [カーソル]> [カーソル]ラジオボタンを選択します。


完了するには、この種のオプションは、cygwinである他のWindowsターミナルウィンドウと同じです。
mveroone

6
Pro:.vimrcLinuxまたはWindowsとの互換性が向上します.vimrc。短所:カーソルを挿入モードにしたいとき、ブロックカーソルが挿入モードになりましたI。+1
カザーク

5
質問はVIMでのカーソルの制御について尋ねていましたが、この回答はコマンドプロンプトとVIMの両方でシェルセッション全体のカーソルに影響します
デイビッドアルパート

1
@EdRandallこれはCygwin端末とvimについての質問です。この回答は、質問のCygwin側に関するものです。
ジャレド

1
これは質問に完全には答えません。Vimは2種類のカーソルを使用します。 通常、視覚、またはコマンドモードでは、ブロックです。挿入モードでは、縦棒です。これらの手順は、特定のターミナルエミュレータ(cygwin)での大規模な変更を目的としていますが、ほとんどの場合は同様のものが必要です。そのため、ターミナル内のあらゆる場所のカーソルに影響し、さらに重要なこととして、vimのカーソル機能を模倣しません。
ジョージマリアン

3

ファイルを作成し、~/.minttyrc以下の行を追加します

CursorType=block

次にmintty、Cygwinのデフォルト端末であるを再起動します。


0

または、バッチファイルを作成できます。

 %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

そしてそれを実行します。

DOSコマンドウィンドウで点滅するカーソルが気に入らない場合は、%COMSPEC%代わりに使用し、/bin/env/...驚いてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.