2013-10-26 16 views
11

私はWindows 8でデフォルトのCygwinをインストールしていますが、バックスペースキーで文字を削除することはできません。バックスペースを使用すると文字が上書きされることが予想されます。Terminal Vim(Cygwin)のバックスペース

私が試した

set backspace=2 " 
set backspace=indent,eol,start 
:fixdel 

何も動いていないようにみえ。コマンドモードで

両方 :verbose imap <BS>:verbose imap ^H リターン No mapping found

+0

Vimはバックスペースをまったくピックアップしますか?私は ':echo getchar()'をこのようなことのサニティチェックとして使用します。そのコマンドを実行し、キーボード上のキー(スペースなど)を押してみてください。表示される番号(キーコード)を取得する必要があります。それをしてバックスペースを押すとどうなりますか? – pandubear

+0

はい、カーソルは元に戻ります。挿入モードを終了すると、文字が表示されなくなります。しようとすると:エコーgetchar()私は次のエラーが表示されます "E319:申し訳ありませんが、コマンドはこのバージョンでは利用できません" –

+0

は明らかです。私は挿入モードに入ります。タイプ123456 ...バックスペースを3回押します。カーソルを3つ分後ろに移動します。私は彼のESCが挿入モードを終了すると、文字456が削除されます。私は挿入モードにいる間にそれらを削除したいと思います。 –

答えて

0

、あなただけのバックスペースの代わりに大文字の「X」を押すと考えがありますか?これは、あなたが期待しているバックスペースの振る舞いに非常によく似た、1文字を左に取り除きます。

19

は、これらの設定を一緒に追加します。

:set nocompatible 
:set backspace=2 
+0

これは私のために働いた、ありがとう。 –

+0

これも私のために働いた、ありがとう! –

+0

これも私のために働いた。私も理由を理解したいと思います。 –

2

をバックスペースキーCygwinを押すと最近、私は、Windows 7上のCygwinのインストールで奇妙な行動を経験した、スペースとして解釈します。

幸いなことに、問題は簡単に解決できません。最も簡単な方法(テスト中は毎回動作しませんでした)は、ここで述べたように、setup.exeを使用してterminfoとtermcapを再インストールするだけです。BackspaceはCygwinでは動作しません。 termcapをインストールしていない場合は、インストールしてください。ただし、terminfoも正しくインストールしてください。あなたのバックスペースを元に戻すために必要なのはこれだけです。

もしそうでなければ、ホームフォルダから.bashrcを削除する必要があります。 /cygwin/home/you/.bashrc。その後、terminfoとtermcapを再インストールしてください。これはいつも私のために働いた。

は、私は同じ問題を抱えていたし、バックスペースを使って何かを消去することができませんでしたし、矢印ボタンを使用しているとき、私はABCDのような文字を持って、あなたのバックスペース:)

関連する問題