2017-10-02 8 views
0

私はVimの中でインライン改行に参加するにはどうすればよい"$^ "Vim:フリーテキストフィールドにインライン改行を加えるには?

"starthello","hello helloInline helloInline2","hello2","new field" 
"not this","no inline line breaks","no","no" 

でそれに参加したいと思いフリーテキスト

"starthello","hello 
helloInline 
helloInline2","hello2","new field" 
"not this","no inline line breaks","no","no" 

がありますか?

答えて

1

これ以外の方法もありますが、1つの方法として、Shift+Vを押してカーソルを上下に移動して、結合する線を視覚的に選択する方法があります。次に、Shift + Jを押して、選択した行を結合します。

あなたがこれを行うことができます
2

:g/     # On every line matching this regex: 
    [^"]$   # A line that does *not* end with a double quote 
     /   # Run this command: 
     .,   # On every line from the current line until 
      /"/  # The next line containing a double quote 
        # Run this command: 
       j  #  Join (remove newlines) 
+1

短いバージョン:: ':非常に適切であるためではありませんV /" $ /、// j' –

+1

@PeterRinckerをここで

:g/[^"]$/.,/"/j 

は、それがどのように動作するかだが私は '' 'で終わる行に行く必要はないと考えていますが、' ''を含む行だけです。しかし、 ':v /"/"/ j'は – DJMcMayhem

+1

' 、/ "/ j"は、与えられたレコードの改行で分割された複数のフィールドがある場合に失敗します。レコード全体を1行に正しく結合しません。レコードが ' "私が信じているのは安全な仮定です。':j'の範囲でそれを使うとうまくいくでしょう。 –

関連する問題