使用像緩衝區這樣的Vim標籤

我已經看過在Vim中使用製表符的能力(使用:tabe:tabnew等)做爲我當前在隱藏緩衝區中在同一窗口中打開許多文件的作法的替代。 php

我但願我打開的每一個不一樣文件始終位於其本身的選項卡中。 可是,有些事情會妨礙這一點。 我該如何解決這些問題: vim

  1. gf^]等命令跳轉到另外一個文件中的某個位置時,該文件將在當前選項卡的新緩衝區中打開。 有沒有辦法讓全部這些命令在新選項卡中打開文件,或者若是文件已經打開則切換到現有選項卡? 編輯器

  2. 切換緩衝區時,我可使用:b <part of filename><tab>它將完成現有緩衝區中文件的名稱。 <part of filename>甚至能夠是文件名的中間而不是開頭。 是否有相應的切換標籤? 函數


#1樓

看看:幫助標籤看起來不像vim想要像你那樣工做...... 佈局

緩衝區在選項卡之間共享,所以彷佛沒法鎖定給定緩衝區以僅顯示在某個選項卡上。 ui

不過,這是一個好主意。 spa

您能夠經過使用支持選項卡的終端(如multi-gnome-terminal,而後在每一個終端選項卡中運行vim實例)來得到所需的效果。 不完美,但...... 插件


#2樓

  • 您能夠映射一般操做緩衝區的命令來操做選項卡,就像我在.vimrc中使用gf同樣: 設計

    map gf :tabe <cfile><CR>

    我相信你能夠用[^ code

  • 我不認爲vim支持這個標籤(還沒有)。 我使用gt和gT分別移動到下一個和上一個選項卡。 您也可使用Ngt,其中N是標籤號。 我有一個問題是,默認狀況下,標籤行中沒有顯示標籤號。 爲了解決這個問題,我在.vimrc文件的末尾添加了幾個函數(我沒有在這裏粘貼,由於它很長而且格式不正確)。


#3樓

我遇到了一樣的問題。 我但願標籤像緩衝區同樣工做,我歷來沒有設法讓它們到達。 我最終解決的解決方案是使緩衝區表現得像製表符!

查看名爲Mini Buffer Explorer的插件,安裝和配置後,您將可以以與標籤相同的方式使用緩衝區,而不會丟失任何功能。


#4樓

中止,中止,中止。

這不是Vim的標籤設計使用的方式。 事實上,他們的名字很差。 一個更好的名稱是「視口」或「佈局」,由於這是一個標籤 - 它是全部現有緩衝區的不一樣窗口布局。

試圖將Vim擊敗到1個標籤== 1緩衝區是徒勞的。 Vim不知道或不關心而且它不會在全部命令上尊重它 - 特別是,使用quickfix緩衝區的任何東西( :make:grep:helpgrep是那些讓人想到的東西)會很高興忽略標籤,而且沒有什麼能夠阻止的。

代替:

  • :set hidden
    若是您尚未此設置,請執行此操做。 它使vim像地球上的其餘多文件編輯器同樣工做。 您能夠擁有在某個窗口中看不到的已編輯緩衝區。
  • 使用:bn:bp:b # ctrl-6 :b namectrl-6在緩衝區之間切換。 我喜歡ctrl-6本身(單獨它切換到之前使用的緩衝區,或#ctrl-6開關到緩衝區編號# )。
  • 使用:ls列出緩衝區,或者像MiniBufExplBufExplorer這樣的插件。

#5樓

我使用像Tab這樣的緩衝區,使用BufExplorer插件和一些宏:

" CTRL+b opens the buffer list
map <C-b> <esc>:BufExplorer<cr>

" gz in command mode closes the current buffer
map gz :bdelete<cr>

" g[bB] in command mode switch to the next/prev. buffer
map gb :bnext<cr>
map gB :bprev<cr>

使用BufExplorer,頂部沒有標籤欄,但另外一方面它能夠節省屏幕空間,並且能夠打開無限數量的文件/緩衝區,緩衝區列表可搜索...

相關文章
相關標籤/搜索