以前に入力したコンテンツを削除するためのvim挿入モードで「Delete」キーが機能しない


12

iterm2でvimを開きました。まず、挿入モードで次のように入力しました

Hello

この段階で、挿入モードを終了しなかった場合、deleteキーは機能し、必要に応じて単語全体を削除できます。

挿入モードを終了し、挿入モードを再度開くとHellodeleteキーで削除できません。ただし、新しく入力したコンテンツは削除できます。

.vimrcの名前を変更しましたが、問題は解決しません。

シェルのコマンドラインでは、私のdeleteキーはうまく機能します。

そして、私はリモートサーバーでいくつかのテストを行いitermましたが、同じ問題は発生しませんでした。

この問題の原因は何ですか?修正方法


PS:私はmacbookを使用しているので、deleteキーはbackspacePCに対応し ています。

回答:



3

これは、シェルまたはのバージョンとは関係ありませんvim。挿入モードでのバックスペースの操作は通常のvim設定可能な動作であるため、これは単純な設定です。具体的には、vimbackspace設定です。あるマシンでは(おそらく)空の文字列に設定されており、別のマシンではvalueを含めるように設定されていますstart。そして、これはおそらくグローバル構成ファイルにあります。

-compatibleモードで起動vimした場合のデフォルトでviは、backspace変数は空の文字列になることに注意してください。あなたが文句を言っている動作は、実際には元の動作ですvi。Linuxオペレーティングシステムはvim、オリジナルの設定とは異なる「より使いやすい」動作を有効にするあらゆる種類のオプションでグローバル構成ファイルを埋める傾向がありますvi。BSDはそうではありません。

参考文献

  • アーノルド・ロビンス、エルバート・ハンナ、リンダ・ラム(2008)。「簡単な編集」。 viおよびVimエディターの学習。O'Reilly Media、Inc.。ISBN9781449313258。14。
  • :help backspace。vimドキュメント。
  • バグ#19903。1998. Debian BTS。

1

これは、デフォルトでOSXにインストールされているvimのバージョンが原因であると考えています。いつでもhomebrew経由でvimをインストールでき、その置き換えが役立つかどうかを確認できます。このページは、OSX端末のエクスペリエンスを向上させるのに役立つこのページを見つけました。 https://www.topbug.ne​​t/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

この行「brew install vim --override-system-vi」に注意してください


0

iTermキーマッピング(Preferences -> Profiles -> Keys)を確認します。デフォルトのNatural Text Editingプリセットを使用していましたが、この回答により、削除に関連するキーマッピングを削除すると問題が解決します。

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