Vim复制并连接线条

Rad*_*law 3 vim lines range

我有一个看起来像这样的文件:

G:\some_folder
    file1.avi
    file2.wav
E:\some_folder2
    fileABC.avi
    fileDEF.wav
Run Code Online (Sandbox Code Playgroud)

我想将文件转移到:

G:\some_folder
G:\some_folder  file1.avi
G:\some_folder  file2.wav
E:\some_folder2
E:\some_folder2 fileABC.avi
E:\some_folder2 fileDEF.wav
Run Code Online (Sandbox Code Playgroud)

换句话说,这可能是这样的:寻找^[A-Z]:复制整行并在开头添加它到下一行,直到找到^[A-Z]:

是否有可能在VIM中这样做?如果是的话,如何.

谢谢拉德克

Ing*_*kat 7

我会迭代所有的线:global; Vim会将光标定位在每一行的开头.根据它的行类型,我要么拉出文件夹路径,要么将其粘贴在前面:

:%g/^/execute 'normal!' getline('.') =~ '^\S' ? 'y$' : 'P'
Run Code Online (Sandbox Code Playgroud)