如何在VIM中将多行合并为一行?
例如:
我想合并这样的文字
CATEGORIES = ['Books',
'商业',
'教育',
'娱乐',
'金融',
“游戏”,
“保健与健身”,
'生活方式',
“医疗”,
'音乐',
'导航',
'新闻',
'摄影',
'生产率',
'参考',
'社交networking',
'体育',
'旅行',
“公用事业”,
'天气',
'全部',]
成
“娱乐”“金融”“游戏”“健康与健身”“生活方式”“医疗”“音乐”“导航”新闻“,”摄影“,”生产力“,”参考“,”社交networking“,”体育“,”旅行“,”公用事业“,”天气“,”全部“
在命令模式下:
[range]j[lines]
EG:在这里你要做整个缓冲区:
%j
如果你只想从当前的光标位置做10行:
j10
如果你不想用空格replace新的行使用! 之后
%j! j!10
而对于这个恶作剧,
5j20
会去第5行,并join下20行。
最直观的方法是使用vim visual line mode shift + v
。 您只需要select要合并到一行的内容,然后按shift + j
。
对于这个特定的例子,以下命令将起作用:
:1, 21 j
要么
:%s/\n/ /g
使用J(大写)快捷键。 它会join你的线路
查看此线程获取更多连接选项,并查看帮助页面:
在Vim中,将文件中所有行join单行的最简单方法是什么?
或者join从方括号到方括号的所有内容(假设你的文件中有很多这样的内容),并保留其他行
:克/ [/,/] / J
快速简单。