2013-05-07 20 views
2

當您處理的文件超過20個時,打開的選項卡數量溢出了選項卡欄的容量,因此在它們之間切換變得非常煩人。此外,點擊標籤是反vimish。這真的很低效。處理多個文件時VIM效率低下

我一直在想: 1.標籤保留在左側(側面標籤有更高的容量) 2.信件標籤分配給他們(a,b,c,d ... ) 3.爲了切換到標籤,你只需鍵入一個鍵+它的標籤

我認爲它不能比這更快。有沒有這樣的事情?

+0

我用的緩衝區,有許多不錯的插件,它幫助我快速地查找文件。例如CtrlP,FuzzyFinder ...我只是無法掌握如何使用標籤。它總是讓我感到困惑。也許是時候嘗試緩衝區了?順便說一句,如果你說「點擊」,它是無效的,因爲你的手/手指離開主鍵。 :) – Kent 2013-05-07 16:56:28

+0

@Kent是的,這太可怕了。不過,我無法獲得緩衝區。你必須輸入一個瘋狂的字數與他們合作。 :LS 看到他們,然後用你的眼睛騙局(一個不那麼友好的顯示),然後:BUN 其中只有你在你想要的文件! – MaiaVictor 2013-05-07 17:08:01

+0

不要難過。 ':b'可以帶''部分文件名和通配符。通過':sp',':vps',':sb'等學習分割。使用''快速返回到最後一個緩衝區。使用大寫標記返回以將「書籤」設置爲您將知道稍後返回的位置。如果你仍然想使用標籤,至少使用'gt'和'gT'來切換標籤。 – 2013-05-07 17:20:25

回答

0

您可以使用gt移動到下一個標籤,並gT移動到前一個標籤。

您也可以使用<number>gt移動到具有該號碼的選項卡。這使您可以根據其編號移動到任何選項卡。標籤開始數數1.要找出每個選項卡是什麼號碼,你可以使用:tabs

1

隨着瀏覽器和其他應用程序,您必須使用的標籤;沒有別的。在Vim中,標籤頁只是最近的一個版本(第7版),完全是可選的。使用太多它們被許多人視爲反模式。我通常使用它們來分隔不同的項目。

看起來你還沒有找到管理Vim內部文件的最佳策略。由於這很大程度上取決於您的項目和工作流程,因此很難提供建議。但是你會發現很多關於這個主題的博客文章,以及vim.org上的大量插件。要有耐心,嘗試不同的方法,你會找到更好的方法。 PS:你想象中的解決方案(側面標籤),不能在Vim當前完成。

+0

我發現我的最佳解決方案,但它不存在:如果http://o7.no/12QUcHu在左側NERDTree可以有標籤,如「AA」,「AB」,「AC」 ...如果我可以跳到一個帶有「baa」的文件,例如......這將是完美的。相反,我必須使用NERDTree和CTRLP的組合,並多輸入幾個字符(也可以交互掃描CtrlP結果,這非常長)。不知道實現標籤的東西有多難。我得試試 – MaiaVictor 2013-05-07 19:17:24

2

在其他編輯器,一個標籤是文件的代理:打開一個文件時,它的內容放在內存,處理,最終顯示在連接到與標籤設置爲文件名的選項卡的窗口。 tab == file

在Vim中,一個標籤是一個「工作區」旨在承載任意數量的窗口(默認值爲1),其可以依次顯示從緩衝器列表中的任何緩衝液中。還要考慮標籤的標籤默認是活動窗口的名稱,它可能有用也可能沒有用(誰希望標籤爲Quickfix window?)。 tab != file

的基本單位是在緩衝液和緩衝液是全球:緩衝器可以與xy優於或等於0顯示在x窗戶y標籤。由於存在沒有將緩衝區綁定到特定窗口或選項卡的方式,因此使用Vim選項卡就好像是一個錯誤。

要走的路是直接拖放標籤和處理緩衝區。畢竟,你想跳到一個特定的文件,不是嗎?

緩衝區之間導航,既快捷又方便:

:bn 
:bp 
:b <Tab> 
:b *foo<Tab> 

特別是與自定義映射:

nnoremap gb :buffers<CR>:b<Space> " beautiful! 

和很多不是強迫的Vim成可怕的製表中心的範例更自然。如果您仍然有速度問題,即使使用gb映射,請嘗試CtrlP,Command-T,FuzzyFinder,LustyExplorer或它們的許多兄弟。

此外,更廣泛,標籤是一個貧窮的想法,因爲他們往往作爲他們的數量增長到失去它們的用處...可用於顯示選項卡中的水平空間通常是固定的或至少是有限的。由於標籤是水平書寫的,文件名通常長於幾個字符,因此可用空間迅速縮小並且必須做出各種妥協才能保持標籤「可用」。縮短名稱和標籤,或者在標籤行的每一端添加gyzmos用於滾動...基本上,查找內容所需的工作量增加得太快,導致製表符成爲有效的通用解決方案。

2

我轉貼該excellent blog post說明「窗口」,一個「緩衝」並且在Vim中一個「標籤」之間的差異。

簡短的版本是romainl的答案。處理多個文件的默認方式是使用緩衝區,選項卡僅用於保存特定的窗口布局。