50

通常モードを終了せずに (挿入またはコマンドライン モードに入らずに) 行 (カーソルの位置) を 2 行に分割したいと考えています。これは可能ですか?

現在、目的の場所に到達し、「i」を押して挿入モードに入り、「Enter」を押して行を 2 つに分割し、「esc」を押して通常モードに戻ります。

行の最大長を設定したり、構文などを実行しようとしているわけではありません。通常モードを終了せずに、1 行を 2 行に分割したいだけです。'J' は、カーソルがある行をその下の行に結合します。これは便利です。反対に、1 つのコマンドで 1 行を 2 行に分割したい。

4

8 に答える 8

45

これを試して:

:nnoremap <NL> i<CR><ESC>

次に、行を分割したいときはいつでも Ctrl-J を押します。

于 2010-10-18T17:41:00.100 に答える
43

私は単一のキーコマンドを知りませんが、多くの場合、「r」を押してから「Enter」を押して改行します。

"r" は、挿入モードに入ることなく、カーソルの下の現在の文字を置き換えます。キャラクターを置き換えたくない場合、これはあなたが望むものではないかもしれません...

于 2010-10-18T17:40:37.260 に答える
29

カーソルを所定の位置に置いて...

  r<Enter>
于 2010-11-16T23:13:17.227 に答える
3

私の知る限り、これは挿入モードに入らないと不可能です。ただし、次のようなものでマクロ化できます(Zを使用したいキーに置き換えます)

nmap Z i<cr><esc>k$

基本的に、これはキー 'Z' を挿入モード 'i' に入り、キャリッジ リターン ' <cr>' を挿入し、挿入モード ' <esc>' を終了し、行 'k' に移動し、最後に行 '$' の末尾に移動するようにマップします。

于 2010-10-18T17:41:31.953 に答える
2

この重複した質問ごと: Vim で挿入モードに入らずにカーソルがある場所に改行を挿入するにはどうすればよいですか?

vim 内から、次のように入力します。

:map g i[Ctrl+V][Enter][Ctrl+V][Esc][Enter]

これにより、G キーがマクロ I [Enter] [Escape] にマップされます。

于 2010-10-18T17:41:40.487 に答える
1

通常モードでは、文字「O」を押してから「Esc」を押します。マッピングは必要ありません。

于 2020-07-02T21:17:21.837 に答える