Answers:
Shift+ J删除当前行中的换行字符,因此,通过在行中的任何位置按“ J”,您可以按需要的方式组合当前行和下一行。
GJin vim将移动到最后一行,然后尝试将其连接到下一行,join命令唯一没有意义的地方。是的,我觉得这很有趣:-)
Vi还是Vim?
无论如何,以下命令在“不兼容”模式下适用于Vim。我想这几乎是纯vi。
:join!
如果要通过普通命令执行此操作
gJ
使用'gJ',您可以按原样加入行-无需添加或删除空格:
S<Switch_ID>_F<File type>
_ID<ID number>_T<date+time>_O<Original File name>.DAT
结果:
S<Switch_ID>_F<File type>_ID<ID number>_T<date+time>_O<Original File name>.DAT
使用“ J”命令,您将具有:
S<Switch_ID>_F<File type> _ID<ID number>_T<date+time>_O<Original File name>.DAT
请注意type>和之间的空格_ID。
g/pattern/join在VIM 中有效,而在VIM g/pattern/J中无效。可能会帮助一些未来的人。
在vi中,J(即Shift+ J)或:join应该做大部分事情。请注意,它们会调整空白。特别是,在许多情况下,最后会在两条连接的线之间留一个空格,如果缩进第二行,则缩进将在连接之前被删除。
在Vim中,您也可以使用gJ(G,然后Shift+ J)或:join!。这些将连接行,而无需进行任何空格调整。
在Vim中,请参阅参考资料:help J。
gJ,并J为这两个昌光标到结合点,但:join!和:join不。
如果要加入选定的行(处于可视模式),只需按 gJ合并即可合并行,不带任何空格。
在vi / Vim Stack Exchange网站上对此进行了更详细的描述。
在第一行上按Shift+ 4(“ $”),然后按 Shift+ j(“ J”)。
如果需要帮助,请进入vi,然后按F1。
连接两行而不将光标置于该行的另一种方法是:
:6,6s#\n##
这里的6是另一行将加入的行号。要显示行号,请使用:set nu。
如果我们在光标处应该连接下一行的位置,则:
:s#\n##
在这两种情况下,我们都不需要glike :s#\n##g,因为在一行上仅\n存在一个。
Shift+V选择最后一行除外的所有要连接的行,然后:'<,'>s/\n/, /在此示例中连接行,同时在每个行的末尾加上逗号和空格,这样比较容易。请注意,当选定某项并且我们:以普通模式键入时,'<,'>该命令将自动出现在命令行中。