空白行を追加するためのviコマンド?


24

viでは、oまたはOを使用して空白行を追加し、挿入モードに移行できます。しかし、コマンドモードのままにしたい場合、このコマンドはありますか?

グーグルでは、vimrcに何かを追加する提案がありますが、もっと簡単な方法があるはずです(常に動作します)。

回答:


25

VIM FAQによると、:put次のコマンドを使用できます。

12.15。挿入モードに入ることなく、現在の行の上/下に空白行を挿入するにはどうすればよいですか?

":put" exコマンドを使用して、空白行を挿入できます。たとえば、試してみてください

:put = ''
:put!= ''

詳細については、

:help:put

しかし、実際には追加するのが簡単です:

map <Enter> o<ESC>
map <S-Enter> O<ESC>

.vimrc。この方法では、EnterまたはShift-Enterを押して、normal mode現在の行の下または上に空白行を挿入できます。もちろん、代替の<Enter><S-Enter>お好みのキーを持ちます。


15

使用の魅力の一部は、VIテキストを操作するためのコマンドモードと、テキストを追加するための編集モードを持つことです。これにより、物事を達成するためにCTRLキーを押す必要がなくなります。

他の提案は動作する可能性があります-私はそれらを試していません-しかし、それらはかなりの文字を必要とするか、VI環境を操作しすぎるようです。

追加したい新しい行ごとに、または5行追加してからを使用しo[ESC]てみてください。これははるかに高速で、すべてのインストールで常に動作します。.5.VI


1
あなたは使用することができ.、繰り返しに、あなたも行うことができます<number>o<esc>たとえば、:5o<esc>
bollovan

1
それは確かに動作します。しかし、コマンドを複数回実行する前に、コマンドが実際にドキュメントに与える影響を確認するのが好きです。o'dVIに新しい段落を何回追加したかはわかりませんが、きれいな段落が実際には慎重に6行/ワードラップされた行であることがわかります。
Glorytoad


1

これにより、現在の行の後に空白行が追加されます。

:put _ 

または、最初に行を指定します。


0

Vim 7.3: <number>o<esc>空の行を1つだけ作成します。


さて、追加<esc>することで、挿入モードからコマンドモードに戻ります。彼は、挿入モードにまったく移行しない答えを探していると思います。
ベルンハルト

ああ!<esc>で挿入モードを終了するのを忘れました。この場合、動作します。さらに、次のすべての行で編集された行を複製します。
ハキム


0

コマンドモードのままで現在の行の後に空白行を挿入するには、次を使用します。

: r !echo

これは「rファイル内のead」コマンドですが、ファイル名を指定する代わりに、シェルコマンドの出力を読み取るように指示します(!)。そのシェルコマンド、echoは単に空白行を出力します。空白行が挿入された後、コマンドモードのままになります。


-2

誰もこれに言及していないことに驚いています:

コマンドラインモードで「r」に続けて「Enter key」を使用します。

しかし、7年までにパーティーに遅れました:)


1
ただし、これによりコマンドモードが終了し、現在の行が空白行に置き換えられます。
ジェフシャラー

@Jeffが何を言っているのか分かりません。このコマンドに関する私の観察は、(1)現在空白行にいる場合は機能しません。(2)そうでない場合は、カーソルの下の文字を削除します。
スコット

私は話を間違えました。r実際、現在の文字を置き換えます。それでもコマンドモードになります。
ジェフシャラー

同意した。これは制限です。空でない行+行の前の空白スペースで実行する必要があります。これを考えていませんでした。ありがとう。
Akhilesh Siddhanti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.