Vimでは、 J キーは2行を結合します。 (カーソル位置などで)改行で行を分割するための、同様の組み込みのキーの組み合わせはありますか?
または、それを行うためのキーの組み合わせを定義する最も堅牢な方法は何ですか(挿入モードではなく通常モードで)?
いいえ、そのための組み込みコマンドはありません。
<Space>
で分割する場合は、r<CR>
を使用します。
---編集---
@ keith-nicholasのコメントで、この質問を思い出しました。 FWIWその間、うまくいけば「ユニバーサル」な方法を思いついた:
function! BreakHere()
s/^\(\s*\)\(.\{-}\)\(\s*\)\(\%#\)\(\s*\)\(.*\)/\1\2\r\1\4\6
call histdel("/", -1)
endfunction
nnoremap <key> :<C-u>call BreakHere()<CR>
a
EnterEsc カーソルの右側で分割する、またはi
EnterEsc 左に分割します。
Vimで行を分割する最も簡単な方法は、通常モードのコマンドgq
です(通常モードまたはビジュアルモードで両方の文字をすばやく続けて入力します)。
gq
にモーションを追従します。たとえば、gql
は、現在設定されている幅に1行を分割します。分割線の幅を現在の設定とは異なるように設定するには、次を使用できます
:set textwidth=<n>
ここで、nは1行に必要な文字数(例:10)で、終了したら通常の幅に戻します。
モーションを使用して通常モードでラインを結合および分割する方法を示すKholidfuによるYoutubeビデオからこの情報を得ました: Vimチュートリアル-ラインを結合および分割 。
マップを使用して独自に定義できます。たとえばzをコマンドとして定義するには:
:map z i<CTRL+m>
マクロを記録できます。
通常モードで「q +」と入力して、レコードを開始します。記録するマクロ「i」を押します。次に、もう一度「q」を押して録音を停止します。
マクロを使用するには、通常モードに移動して「@ + letter」と入力します。
私の場合、「b」を使用してこのマクロを使用しました。通常モード「qbiq」でタイプを記録し、通常モード「@b」でタイプを使用します