如何在VIM中将多行合并为一行?

nor*_*ree 67 vim

例如:

我想合并这样的文字

类别= ['书籍',
'商业',
'教育',
'娱乐',
'财务',
'游戏',
'医疗保健和健身',
'生活方式',
'医疗',
'音乐',
'导航',
'新闻',
'摄影',
'生产力',
'参考',
'社交网络',
'体育',
'旅游',
'公用事业',
'天气',
'全部',]

类别= ['书籍','商业','教育','娱乐','财务','游戏','医疗保健和健身','生活方式','医疗','音乐','导航','新闻','摄影','生产力','参考','社交网络','体育','旅游','公用事业','天气','全部',]

小智 107

在命令模式下:

[range]j[lines]
Run Code Online (Sandbox Code Playgroud)

EG:在这里你要做整个缓冲区:

%j
Run Code Online (Sandbox Code Playgroud)

如果你只想从当前光标位置做10行:

j10
Run Code Online (Sandbox Code Playgroud)

如果你不想用空格替换新的线路使用!在j之后.

%j!
j!10
Run Code Online (Sandbox Code Playgroud)

为了超越:

5j20
Run Code Online (Sandbox Code Playgroud)

将进入第5行,并加入接下来的20行.

  • vipJ在这里会更有效率.或者,如果在"["之前的第一行,v%J也会起作用.或者,在文本块中的任何位置,va] J. (5认同)
  • 这应该是大写“J”而不是小写“j”。 (2认同)

Aar*_*men 30

最直观的方法是使用vim视线模式shift + v.您所要做的就是选择要合并到一行的内容,然后按shift + j.


jgl*_*uie 10

使用J(大写)快捷方式.它将为您加入线路

检查此线程以获取更多连接选项,并查看帮助页面:

在Vim中,将文件中的所有行连接成一行的最简单方法是什么?


Jam*_*ine 6

对于该特定示例,以下命令将起作用:

:1, 21 j
Run Code Online (Sandbox Code Playgroud)

要么

:%s/\n/ /g
Run Code Online (Sandbox Code Playgroud)