vimバックスペースキーが正しく機能しない

vimバックスペースキーが正しく機能しない

要点は、inが期待Backspaceどおりに機能しないことです。キーとして機能し、削除キーが文字を削除するのですが、代わりに何か奇妙なことが起こっています。しかし、今は仕事の鍵を得るために苦労しています。vimviDeleteBackspace

Googleでunix.seを検索していくつかの解決策を試しましたが、何も役に立ちませんでした。追加してみました

:map~ ^? ^H

アーカイブ.exrc。また、次の機能を追加してみました。このリンク、後で与えられた正しいキーシーケンスをマッピングしましたが、それでも問題を解決するのに役立ちませんでした。

func Backspace()
  if col('.') == 1
    if line('.')  != 1
      return  "\<ESC>kA\<Del>"
    else
      return ""
    endif
  else
    return "\<Left>\<Del>"
  endif
endfunc

vim詳細

VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:09:20)

機械

$ cat /etc/*release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

メモ:

  1. 私はパテ接続マネージャを使用してリモートUNIXシステムに接続しています。
  2. Shift+は、左側の文字を削除するBackspace通常のキーと同じ機能を実行します。Backspace

答え1

バックスペースモードを設定してみましたか?:help bs以下を確認してみてください。

set bs=indent,eol,start

:fixdelこのヘルプセクションには、「<BS>または<Del>キーが望みどおりに機能しない場合」の使用に関する注意事項もあります。

「互換性がない」(WRTをviに)に設定する必要があるかもしれません:set nocp

答え2

PuTTYに関するGertのコメントに加えて、3番目の記事はこのスレッドPuTTY設定に関する追加の注意:

ターミナル - >キーボードセクションの下に、「発信者の順序を変更:」とマークされたブロックがあります。最初のブロックはバックスペースキーです。 Control-H または Control-? でなければなりません。現在の設定とは逆に変更すると正常に動作します。

答え3

ゴールディラックスの回答役に立ちました。彼が示すように設定を設定した後、以下の手順で問題を解決しました。

xtermをTERM次のように設定します。

$ TERM=xterm; export TERM

.bashrc次に、ファイルに次の内容を追加します。

stty erase ^H

関連情報