2013-03-12 108 views
2

我知道,一個文件可以在不同的線路用打開:如何用vim在不同的行打開多個文件?

vim foo.c +123 
vim +123 foo.C# same result 

多個文件可以使用開:

vim foo.c bar.c 

但我怎麼能結合這兩個動作? vim +123 foo.c +456 bar.c不起作用,bar.c在一條線,而不是456

我看到Vim : Open multiples files on different lines被打開,但是這將打開不同的標籤,而我習慣:prev:n用於導航。

+0

嗯,看看[這Q/A](http://stackoverflow.com/q/53664/427545),選項卡似乎更快。無論如何,有沒有更快的方式來打開文件在給定的行? – Lekensteyn 2013-03-12 15:00:18

+0

通過查看您發佈的鏈接,它不會打開選項卡中的文件,但會將第二個文件加載到新的拆分窗口中。如果你只需要一個新的緩衝區,你可以試試'vim +6 file1 +「e +3 file2」'。 – 2013-03-12 15:06:46

+0

不,'view +10 action-chain.c +'e +5 empathy-camera-monitor.c''不起作用。並不會''只是覆蓋當前的緩衝區? – Lekensteyn 2013-03-12 15:09:20

回答

1

我不知道是否有更簡單的方法,但是這裏有一個解決方法非常簡單,不會影響您的工作流程,因爲您不是選項卡用戶。

  1. 首先,設置自動命令你.vimrc發出tabo[nly](其中關閉所有其他選項卡)輸入VIM之後。

    autocmd VimEnter * tabo 
    
  2. 接下來,使用該解決方案在你的鏈接的問題在多個選項卡中打開文件與

    vim +123 foo.c +"tabnew +456 bar.c" 
    

所以會發生什麼是在幕後,VIM打開文件選項卡,但立即關閉除了最後一切以外的一切。所有打開的文件應該在打開的緩衝區中可用。

即使通常沒有多個文件打開vim(你會看到一個無害的消息 - 「已經只有一個標籤頁」 - 在下一個關鍵筆畫上消失),這工作正常。此外,由於此命令僅在VimEnter上發出,因此它不會阻止您稍後在會話中使用選項卡(如果希望的話)。

1

隨着file:line - Allows you to open file:line and it does the right thing插件,你可以使用

$ vim foo.c:123 bar.c:456 

它不-o拆分工作,但它確實爲預先設定的行號在參數列表的文件的使用情況。

+1

我目前使用[vim-fetch](https://github.com/kopischke/vim-fetch),它比鏈接的file_line插件維護得更多。你現在在用什麼? – Lekensteyn 2015-10-04 20:12:11

+0

@Lekensteyn我還在file:line;該插件非常簡單(並且Vim非常穩定),因此不需要進行維護。 – 2015-10-10 18:57:17

相關問題