it-swarm-ja.com

VIでバックスペースキーを有効にするにはどうすればよいですか?

私はベアボーンのFreeBSDをインストールしています。パッケージがインストールされていません。また、VIはバックスペースキーを受け入れません。 (バックスペースキーを押しましたが、何も起こりません)VIでバックスペースキーを有効にするにはどうすればよいですか?

ああ、私はMacを使用していて、FreeBSDをVMまたはターミナル経由で制御しています。

4
Eonil

Viを実行する前に、ターミナルでこれを試すことができます。

$ stty erase [Ctrl-V] [Backspace]

ここで、[Ctrl-V]はControl + Vを押し、[Backspace]はバックスペースキーを押しています。

3
Majenko

私を助けたもの-ターミナル設定で-[詳細設定]タブを選択-[削除はCtrl-Hを送信する]をチェックします

1
user193492

:h backspace-deleteから:

バックスペースキーと削除キー*backspace-delete*


3.0では、削除キーとバックスペースキーの両方が挿入モードのバックスペースとして機能していました。カーソルの左側の文字を削除しました。 4.0では、削除キーに新しい機能があります。コマンドラインの場合と同じように、カーソルの下の文字を削除します。カーソルが行の終わりの後にあり、「bs」が設定されている場合、2つの行が結合されます。 |<Del>| |i_<Del>|

3.0では、バックスペースキーは常にCTRL-Hとして定義され、削除はCTRL-?として定義されていました。 4.0では、バックスペースと削除キーのコードはtermcapまたはtermlibから取得され、Unixの「sttyerase」値に合わせて調整されます。これは、作業中のキーボードに応じて消去文字を定義する人に役立ちます。 |<BS>| |i_<BS>|

古い動作をするためにバックスペースと挿入モードでの削除を好む場合は、vimrcに次の行を入れてください。

    inoremap ^? ^H

また、これらを追加して、<BS>および<Del>の値を修正することもできます。

    set t_kb=^H
    set t_kD=^?

(CTRL-VCTRL-Hで^ Hを入力し、CTRL-V CTRL-?または<Del>で^?を入力します。)

T_kbの値が正しいが、t_kDの値が正しくない場合は、「:fixdel」コマンドを使用します。 t_kbの値に応じてt_kDを設定します。これは、複数の異なる端末を使用している場合に役立ちます。 |:fixdel|

^ Hが<BS>または<Del>として認識されない場合、バックスペースのように使用されます。