題 如何使用跳轉列表每個文件跳一次?


在Vim中導航時,我經常發現自己跳轉到文件,跳轉到該文件,然後跳到另一個文件,依此類推。最後,我想返回原始文件。運用 <CTRL-O> 做的工作,但需要比我想要的更多的印刷機。

我知道我可以預先設置一個標記,但我想要一個不需要任何前期思考的解決方案。

我正在尋找一種方法來瀏覽跳轉列表,每個文件只停留一次。


5
2018-03-30 23:44


起源


我需要這個,因為當窗口的內容無意中被改變時,我不記得我之前有過哪個緩衝區,只是我希望它在那裡。 - Brady Trainor


答案:


我的 EnhancedJumps插件 有映射變體 <C-o> / <C-i> 限制跳轉到當前或不同的緩衝區。

<Leader><CTRL-O>, <Leader><CTRL-I>             轉到另一個[count]較舊/較新的光標位置             緩衝。當前緩衝區內的跳轉不是             考慮。用於回憶以前訪問過的             沒有經過所有本地職位的緩衝區。             無論跳躍方向如何,最後一跳             當存在多個時,使用緩衝區中的位置             隨後在緩衝區中跳轉。


5
2018-03-31 11:06



完美,這正是我正在尋找的。謝謝。 - Paul Carey


我不確定我是否幫助你。您希望在文件/緩衝區之間跳轉,而不是跳轉列表中的位置。 (可能是同一檔案中的多個職位)

然後你可以檢查緩衝區相關的命令。例如

:ls        "list all buffers, Number, name
:b[N]      "switch to buffer N
:b <tab>   "after tab, buffer name auto-completion 

並且有許多插件可以幫助我們輕鬆切換緩衝區。


0
2018-03-31 00:18





跳轉列表的目的不是幫助你從緩衝區跳轉到緩衝區:它記錄你所做的所有跳躍運動。由於典型的vim使用包括緩衝區內和緩衝區之間的大量跳轉,因此使用它在緩衝區之間導航將是錯誤的。

除非你從不使用跳躍運動,否則就是這樣。但那將是一個更大的錯誤。

Vim有緩衝列表,顧名思義,它是一個包含所有緩衝區的列表,並帶有一堆自己的導航命令。不幸的是,這個列表是“靜態的”:您可以導航到列表中的前一個緩衝區,但不能導航到先前訪問的緩衝區。 Vim沒有保留這樣的清單。

我用名字導航緩衝區。但是編寫一個函數來編寫跳轉列表並導航到第一個不同的緩衝區可能是可行的。我現在不能在這款手機上做到這一點,但我認為這不會太難。


0
2018-03-31 07:26