vimで複数行の文字列を1行のCSVにする
2020-02-18
vimで複数行の文字列を1行のCSVにする方法です。
エディタで簡単なSQLのIN句を作成するときによく使います。
元のデータ
1134
1373
3985
4588
Ctrl + V
で先頭に'
を入れる。
'1134
'1373
'3985
'4588
Ctrl + V
の後、$,A
して、',
を入れる。
'1134',
'1373',
'3985',
'4588',
全行をj
で選択してJ
で1行へ。
'1134', '1373', '3985', '4588',
末尾の',
を削除して、前後に()
を入れて完成。
('1134', '1373', '3985', '4588')
スクリプトやコマンドを組み合わせてワンラインで書けそうな気もしますが、ややこしくなりそうなので、いつもこのようなコマンドを実行して整形しています。