[20201202]vim開啟多個TAB檔案.txt

lfree發表於2020-12-02

[20201202]vim開啟多個TAB檔案.txt

--//工作需要,需要一個特殊功能就是在檢視檔案中,開啟裡面涉及到的檔案,而不是在開啟另外的會話在執行vim開啟。
--//以前我有一個工作習慣如果編輯檔案很大,需要上下移動,我會使用vim的tab功能在windows下:
--//就是在vim下輸入:tabedit %,就可以開啟一個新的tab,使用ctrl+pgup,ctrl+pgdn切換檔案,當然這樣是編輯相同的檔案。
--//我個人很少使用ctrl+w操作視窗系列的命令。

--// 假如文字存在如下內容:
檔案位於 d:\a.txt

--//你只要先儲存當前檔案或者沒有修改當前檔案,直接移動到r字元上面,輸入gf就可以開啟d:\a.txt檔案。
--//如果檔案內容如下:
檔案位於d:\a.txt

--//這樣不行,可以使用V_gf命令,選中後按gf就ok。注意在windows下如果透過shift,一定要按ctrl+g切換到visual模式才有效。
--//這些並不是我需要的,我需要在一個vim的tab下開啟多個檔案。

--//看了一下vim文件很簡單:
CTRL-W gf    Open a new tab page and edit the file name under the cursor.
        See |CTRL-W_gf|.

CTRL-W gF    Open a new tab page and edit the file name under the cursor
        and jump to the line number following the file name.
        See |CTRL-W_gF|.

--//很簡單就是在前面的基礎上先按ctrl-w鍵。
--//但是我在linux下遇到一點點小麻煩,開啟多個tab後,我無法使用ctrl+pgup,ctrl+pgdn切換。在tmux下或者登入後遇到的問題都一
--//樣。再次讀vim文件,發現如下:

SWITCHING TO ANOTHER TAB PAGE:

Using the mouse: If the tab page line is displayed you can click in a tab page
label to switch to that tab page.  Click where there is no label to go to the
next tab page.  |'tabline'|

:tabn[ext]                *:tabn* *:tabnext* *gt*
<C-PageDown>                *CTRL-<PageDown>* *<C-PageDown>*
gt                    *i_CTRL-<PageDown>* *i_<C-PageDown>*
        Go to the next tab page.  Wraps around from the last to the
        first one.

:tabn[ext] {count}
{count}<C-PageDown>
{count}gt    Go to tab page {count}.  The first tab page has number one.


:tabp[revious]                *:tabp* *:tabprevious* *gT* *:tabN*
:tabN[ext]                *:tabNext* *CTRL-<PageUp>*
<C-PageUp>             *<C-PageUp>* *i_CTRL-<PageUp>* *i_<C-PageUp>*
gT        Go to the previous tab page.  Wraps around from the first one
        to the last one.

:tabp[revious] {count}
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT    Go {count} tab pages back.  Wraps around from the first one
        to the last one.

:tabr[ewind]            *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
:tabfir[st]    Go to the first tab page.

                            *:tabl* *:tablast*
:tabl[ast]    Go to the last tab page.

--//有點複雜,我僅僅需要記住{count}gt,就ok了。
--//vim命令實際上不部分僅僅知道自己熟悉的部分,如果一些命令自己不常用就很容易忘記,而且一旦知道某種技巧,一定要在實踐經
--//常練習使用,形成所謂的肌肉記憶,這樣就不容易忘記。
--//我估計這些功能經常使用vim程式設計的人會非常熟悉^_^。

--//可以做一點點小小改進就是使用map對映gf命令,這樣都是使用tab開啟檔案:
:map gf <C-W>gf
:vmap gf <C-W>gf

--//有點不同的是linux開啟後在第一個tab,而不是在最後。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2738703/,如需轉載,請註明出處,否則將追究法律責任。

相關文章