指示を使用して端末でCtrl
+ を正常に無効にしました。S
ここ。しかし、私が始まると端末「ターミナル外部」プログラム(例:ターミナルvim)では、Ctrl
+はS
まだ画面を停止します。
「ターミナル外」とはどういう意味ですか?
kitty -e vim
キーボードショートカットを使用して端末でvimを開くなどのコマンドを実行する- 使用vimサーバーファイルマネージャでターミナルvimを実行すると、最終的な効果は上記と同じです。
解決策はありますか? (+を使用することを忘れてCtrl
保存し続けることを除いてS
;)
(gVimが利用できない、または使用したくない理由はいくつかあります。vimstty -ixon
内でgVimを実行すると機能しないため、使用しないには十分な理由があると確信しています。私はまだsttyに慣れていません。..)
答え1
次の項目に追加してください~/.vimrc
。
silent !stty -ixon
これがttyでない場合vim
(gvim
わからないかテストできない)、次のことを試してください。
silent !test -t 0 && stty -ixon
のように見える彼らは-ixon
vimの最新バージョンでデフォルト値を設定することにしましたので、これはすぐにvimでは問題になりません(vimの創設者の元のパッチに注意してください)。質問テストされていないゴミですが、最終的に修理する正しく行われました)。
一般的に(他のプログラムの場合)普遍的な解決策はありません;-)
xtermには初期モードを設定するために使用できるttyModes
リソース(および-tm
オプション)がありますが、そうではありません。いいえサポートする-ixon
。kitty
これもないようです。
vim内で実行すると動作
stty -ixon
しません
これはvim
、外部コマンドを実行して端末の初期(通常は元ではない)状態を復元し、「Enterキーを押すかコマンドを入力してください」というプロンプトに応答すると、元のモードに戻ったときに行われたすべての変更が失われます。:!command
です。command
追加の注意事項として、このサイトとは異なる場所に広がる一般的な民俗(「/」は「and」^S
以前^Q
の時代の時代錯誤に過ぎない)は、ソフトウェアフロー制御が偽です。less
tmux
〜しなければならないすべてのシリアルラインで使用いいえRTS/CTS帯域外信号(特に高速伝送ラインで)とすべての種類の仮想ttyでは完全に役に立たないものです。
バラよりこれIXON
デバイスに接続するために実際のシリアル回線を使用している場合、ブラインドシャットダウン(この場合はローカルttyのSSHクライアントを介して)が原因で問題が発生する可能性があります。これを呼び出す(または正確にコピーする)ほとんどのプログラムはcfmakeraw
同じ方法で失敗するしかありません(script(1)
これが最初に浮かぶものです)。