4

vimでは、改行とカーソルの後ろのすべての空白を削除するコマンドはありますか?

挿入モードでテキストの途中に立って Enter キーを押したとします。今行ったことを逆にするコマンドは何ですか?

A) 例:

"some code{ in here }"

B) Enter キーを押した後:

"some code{
   in here }"

バックスペースを押すと、インデントのスペースが 1 つ削除されます。すべてのインデントを削除して、A に戻りたいと思います。

これはコマンドで、またはバックスペース キーに再マッピングすることで実行できますか?

4

5 に答える 5

9

Jコマンドがどれほど未知であるかは悲劇的です。通常モードでラインを結合します。

<C-U>挿入モードでは、 2 回押すことができます。まず、カーソルの前のインデントを削除してから、前の行に結合します。これには以下が必要であることに注意してください

:set backspace=indent,eol,start
于 2013-02-28T11:15:38.690 に答える
5

やってみましたJ (uppercase)か?それはあなたが望むものを正確に与えるでしょう。

"some code{この行にカーソルを置き、を押しますJ

in here }"

于 2013-02-28T11:03:53.080 に答える
1

できるよᴇꜱᴄ</kbd>, K, Shift+J.

K前の行にジャンプし、Shift+Jは 2 つの行を結合します。

ただし、適切に構成されたインデントと構文を使用すると、バックスペースはスペースを削除するだけでなく、前のインデント ブロック全体を削除します。

于 2013-02-28T11:01:52.460 に答える
1

簡単な方法の 1 つは、1 行上に移動して、その行の終わりまで削除することです。J挿入モードにある限り、他のほとんどのエディタと同様に、最後の位置で削除するときと同じことを行います。私は他の編集者から慣れているので、これが最も速い代替手段です。

あれは:↑</kbd>, End, Delete (when still in insert mode)

1 つの簡単な代替手段 (VIM 方式) は (まだ挿入モードの場合):
↑</kbd>, Ctrl+o, J (when still in insert mode)

( Ctrl+oは挿入モードで 1 つの通常モード コマンドを入力するために使用されます。)

于 2013-02-28T12:30:59.080 に答える