我在vim打开的文件的一个稍长的列表,看起来像这样:如何在vim中的文件列表中打开文件?
/dir1/file1
/dir2/file2
/dir2/file3
.....
我怎样才能把它们全部打开一个接一个最简单的方法可能在vim的同一个会话要么拆分或编辑?
我在vim打开的文件的一个稍长的列表,看起来像这样:如何在vim中的文件列表中打开文件?
/dir1/file1
/dir2/file2
/dir2/file3
.....
我怎样才能把它们全部打开一个接一个最简单的方法可能在vim的同一个会话要么拆分或编辑?
我会用-p制表符
vim -p `cat yourlistoffiles`
你可以做以下
cat file | xargs vim
其中,“文件”包含文件列表,这将在同一Vim会话打开文件。像往常一样,打开多个缓冲区时,可以使用:bn和backward:bp来前进。
..无论文件的数量大于xargs的分割阈值,在这种情况下,您将获得多个vim会话。 – 2009-01-12 22:38:06
使用xargs你可以处理数以万计的文件,你是否建议像命令行一样在命令行中输入这些文件,这似乎不太实际。 – 2009-01-12 23:31:03
这是因为打字
vim /dir1/file1 /dir2/file1 /dir2/file2 ...
一旦你那样简单在vim中,你可以用“:n”切换到下一个文件,“:prev”切换到前一个文件即
我会假设你有Vim内部打开文件列表,并希望在整个列表模拟“GF”命令
编辑.vimrc,包括这样的功能:
function Openall()
edit <cfile>
bfirst
endfunction
然后,您可以使用可视模式(1G,Shift-V,G)并键入“:call Openall()”来突出显示整个文件(或要打开的路径集)。之后,命令行将显示:
:'<,'>call Openall()
这将在所有突出显示的行中运行新的Openall()函数。
按Enter键,所有文件将在后台缓冲区中打开。然后您可以使用常用的缓冲区命令访问它们。 :ls会将它们显示为一个列表。
我的searchInRuntime插件有一个:Sp和a:Vsp命令,它会在被调用时执行这个技巧。但是,这些文件必须存在。
您可以使用QuickFix模式,如下
:set errorformat=%f
:cf myfilelist
在这一点上,你可以使用正常的quickfix快捷键要经过你的文件,:cn
下一个文件,:cp
的前一和:cr
去到第一次。
编辑:
哦,如果你想读从当前缓冲区的列表,上面
使用:cb
代替:cf
在指令试试这个使用bash:
$ vim -S <(sed "s/^/badd /" <your file name>)
但我不知道为什么文件的第一行被忽略...:-O
这个脚本按预期工作:
rm -f myfile
for i in `seq 10000`
do
touch $i
echo $i >> myfile
done
vi -c "badd `head -1 myfile`" -S <(sed "s/^/badd /" myfile)
http://vimdoc.sourceforge.net/htmldoc/starting.html#-S
http://vimdoc.sourceforge.net/htmldoc/windows.html#:bad
我经常需要打开已在我的SVN结账被修改过的文件的改变列表。 这一个班轮工程打开vim选项卡中的所有修改后的文件。
svn st | grep ^M | awk "{print($2)}" | xargs vim -p
我想您在VIM选择和列表。某个扩展名的所有文件。从您的主目录或特定来源。
find . -name "*.sh" | vim -
然后在vim中,你可以搜索和查看这个潜在的巨大列表。 (另一主题)
你找到了你的文件,现在你想打开它在拆分?
CTRL-W F *CTRL-W_F*
Split current window in two. Edit file name under cursor and
jump to the line number following the file name. See |gF| for
details on how the line number is obtained.
{not available when the |+file_in_path| feature was disabled
at compile time}
CTRL-W gf *CTRL-W_gf*
Open a new tab page and edit the file name under the cursor.
Like "tab split" and "gf", but the new tab page isn't created
if the file does not exist.
{not available when the |+file_in_path| feature was disabled
at compile time}
你说“我让他们打开”,然后问“我怎么打开它们?” 如果是前者,Paul Tomblin的回答是给你的 - :n和:prev – 2009-01-13 00:14:53
或者它是你在Vim中打开的实际列表吗? – seanhodges 2009-01-13 08:36:03
只是好奇,但为什么这个社区维基? – Hasturkun 2009-01-13 10:16:15