我在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