我有一个在file1
中的section
,需要将其移动到file2
。通常我会通过视觉选择该块,删除它,从file1
执行:wq
,然后打开file2
并粘贴来完成此操作。
是否有一种简单的方法可以在不关闭vim
的情况下将文本块从file1
移动到file2
?
我有一个在file1
中的section
,需要将其移动到file2
。通常我会通过视觉选择该块,删除它,从file1
执行:wq
,然后打开file2
并粘贴来完成此操作。
是否有一种简单的方法可以在不关闭vim
的情况下将文本块从file1
移动到file2
?
另一种方法:
将所选内容写入新文件:'<,'>w file2
然后使用 gvd
重新选择并删除
第一步在 vimtutor 的 Lesson 5.3: SELECTING TEXT TO WRITE
中有详细介绍。
:sp newfile
在拆分窗口中打开新文件,然后像平常一样从第一个文件中删除块。接着,使用ctrl w和w切换到另一个拆分窗口。最后,使用p
将已删除的内容放回到另一个文件中。您可以在新缓冲区中打开文件。
只需通过:e file2
打开文件并粘贴文本即可。要在不同的缓冲区之间快速切换,请使用:e #
或:b #
有关更多信息,请参见:help buffers
由于没有人提到:你可以使用选项卡(tab)替代。
选择你的块。
使用 d
删除它。
在新选项卡(new tab)中创建一个新缓冲区(buffer)::tabnew newfile.name
粘贴并使用 p
和 :w
保存。
你可以使用 gT
回到上一个选项卡或使用 :q
关闭当前选项卡。
个人而言,我从不使用缓冲区 -- 只用选项卡。更多信息请参阅 :help tabpage
。
:'<,'>!cat >> other_file
。 - Frank