日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux vim(gvim) 多标签页,Vim 的标签页功能

發(fā)布時(shí)間:2025/3/19 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux vim(gvim) 多标签页,Vim 的标签页功能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

雖然一直在使用 Vim 寫程序與文檔,但是一直沒(méi)有深究其標(biāo)簽頁(yè) (Tab Page) 功能的具體使用方法。現(xiàn)在開(kāi)始重視這個(gè)問(wèn)題,畢竟使用 Vim 的時(shí)間越來(lái)越少了,當(dāng)然這只是針對(duì)我的所有生命而言

1 建立新的標(biāo)簽頁(yè)

使用 Vim 在當(dāng)前工作目錄中新建或打開(kāi)某一文件并開(kāi)啟新標(biāo)簽頁(yè)顯示文件內(nèi)容,操作如下:

:tabnew filename

使用 tabf 指令基于正則表達(dá)式遞歸遍歷當(dāng)前工作目錄查找名稱匹配的文件并為其建立新標(biāo)簽頁(yè),用法如下:

:tabf filename_re

上述操作的前提是將 Vim 的工作目錄定位到所期望的位置,否則所修改的文件可能會(huì)陰差陽(yáng)錯(cuò)存儲(chǔ)到你不知道的某一目錄下。在終端里使用 Vim 打開(kāi)某一文件時(shí),會(huì)默認(rèn)將當(dāng)前目錄作為 Vim 的工作目錄,但是在使用 gvim 時(shí),如果從桌面環(huán)境提供的文件管理器中直接打開(kāi)某一文本文件,gvim 的工作目錄默認(rèn)是 $HOME。可能你與我一樣,喜歡自動(dòng)將 Vim 工作目錄遷移到所打開(kāi)文本文件的目錄下,解決方法是編輯 $HOME/.vimrc 文件,添加以下代碼:

"Change work dir to current dir

autocmd BufEnter * cd %:p:h

2 gvim 的 remote-tab 功能

gvim 提供了 remote-tab 的功能,可以實(shí)現(xiàn)在 gvim 打開(kāi)文件的同時(shí)為其建立標(biāo)簽頁(yè)。這里,“remote” 的概念是指 gvim 好像一個(gè)當(dāng)前正在運(yùn)行的服務(wù)器程序,在終端下使用 "gvim --remote-tab-silent filename" 這樣的命令時(shí),會(huì)將“打開(kāi)文檔并為其建立標(biāo)簽頁(yè)”的指令傳遞于當(dāng)前正在運(yùn)行的 gvim 進(jìn)程,gvim 進(jìn)程便會(huì)乖乖地執(zhí)行這一命令。該功能所能帶來(lái)的好處就是只需要開(kāi)一個(gè) gvim 進(jìn)程,所有待編輯的文件都以標(biāo)簽頁(yè)的形式出現(xiàn)在該 gvim 進(jìn)程中,這樣便于隸屬于某一項(xiàng)目的多分文件的編輯與管理。

先把你正在運(yùn)行的所有 gvim 進(jìn)程都關(guān)掉,然后依次執(zhí)行以下的命令,就可以切身體驗(yàn) remote-tab 的功用了。

$ gvim? ? a.txt

$ gvim? ? --remote-tab-silent? ? b.txt

$ gvim? ? --remote-tab-silent? ? c.txt? ? d.txt? ? e.txt

實(shí)際應(yīng)用中,可使用 Shell 提供的別名功能,對(duì) “gvim --remote-tab-silent” 這樣的長(zhǎng)命令行進(jìn)行友好簡(jiǎn)化,做法是編輯 $HOME/.bashrc 文件,向其中添加:

alias vi='gvim --remote-tab-silent'

具體使用什么別名,要依據(jù)個(gè)人喜好。我之所以使用 "vi" 作為 "gvim --remote-tab-silent" 命令的別名,是因?yàn)槲也淮蟪S?vi 這個(gè)命令,而且在許多 linux 發(fā)行版中,"vi" 默認(rèn)連接到 "vim" 的。

現(xiàn)在使用 vi 別名來(lái)實(shí)現(xiàn)前面那個(gè)例子:

$ vi? ? a.txt? b.txt? c.txt? d.txt? e.txt

以前我習(xí)慣使用 "vim" 在終端開(kāi)啟 vim,使用 "gvim" 開(kāi)啟 vim GUI,唯獨(dú)不大用 "vi" 這個(gè)命令,但是從現(xiàn)在開(kāi)始也許我用的最多的是 vi 指令了。

3 在標(biāo)簽頁(yè)之間跳來(lái)跳去

使用 ":tabp" 與 ":tabn" 可分別實(shí)現(xiàn)在一組標(biāo)簽頁(yè)中向前或向后切換當(dāng)前標(biāo)簽頁(yè),但是這樣太繁瑣了,為了將當(dāng)前標(biāo)簽頁(yè)切換到相鄰的標(biāo)簽頁(yè)需要摁 7 次鍵。利用 Vim 提供的鍵映射功能,可將 ":tabp" 與 ":tabn" 命令映射到你喜歡的快捷鍵上。我熱衷于將 ":tabp" 映射為 "Shift + Left" 組合鍵,將 ":tabn" 映射為 "Shift + Right" 組合鍵,做法是編輯 $HOME/.vimrc,添加:

" shift tab pages

map :tabp

map :tabn

4 標(biāo)簽頁(yè)的排序

有時(shí)打開(kāi)多個(gè)標(biāo)簽頁(yè),它們?cè)跇?biāo)簽頁(yè)欄中的排列次序并不是我們所希望的,需要手動(dòng)去調(diào)整。許多編輯器支持使用鼠標(biāo)拖放來(lái)調(diào)整標(biāo)簽頁(yè)的次序,但 vim 不可以,目前只能借助標(biāo)簽頁(yè)編號(hào)機(jī)制并采用命令模式來(lái)解決標(biāo)簽頁(yè)次序調(diào)整問(wèn)題。

在標(biāo)簽頁(yè)欄中,每一標(biāo)簽頁(yè)都是有編號(hào)的,從 0 開(kāi)始,由左至右依次遞增 1。

使用 ':tabm n' 命令可以將當(dāng)前標(biāo)簽所對(duì)應(yīng)的編號(hào)調(diào)整為 'n',即將當(dāng)前標(biāo)簽頁(yè)的位置調(diào)整到編號(hào) 'n' 所對(duì)應(yīng)的標(biāo)簽頁(yè)位置。

5 優(yōu)化標(biāo)簽頁(yè)名的顯示

Vim 的標(biāo)簽欄中,各標(biāo)簽頁(yè)的名稱默認(rèn)是對(duì)應(yīng)文件所在路徑全稱的簡(jiǎn)寫,譬如 /usr/share/doc/test.txt 文件所對(duì)應(yīng)的標(biāo)簽頁(yè)名默認(rèn)是 /u/s/d/test.txt,這樣的標(biāo)簽頁(yè)名看上去有些詭異。我覺(jué)得沒(méi)有必要顯示標(biāo)簽文件的路徑名,因?yàn)樵诖蠖鄶?shù)情況下,用戶是非常清楚所編輯文件的位置,即使一時(shí)忘記,也可以使用 ':f' 命令查看文件名。特別是在 gvim 里,鼠標(biāo)往標(biāo)簽頁(yè)名那里懸掛一下,就會(huì)出現(xiàn)一個(gè)很小的提示窗口,其中顯示了標(biāo)簽文件的路徑全稱。

下面是我對(duì) Vim 標(biāo)簽頁(yè)的 hack,在標(biāo)簽頁(yè)欄中去除當(dāng)前所編輯文件的路徑信息,只保留文件名。

function ShortTabLabel ()

let bufnrlist = tabpagebuflist (v:lnum)

let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])

let filename = fnamemodify (label, ':t')

return filename

endfunction

set guitablabel=%{ShortTabLabel()}

6 標(biāo)簽頁(yè)與會(huì)話

Vim 可以將當(dāng)前的工作狀態(tài)存儲(chǔ)為會(huì)話文件,通過(guò)讀取該會(huì)話文件就可以將 vim 工作環(huán)境恢復(fù)到你上次退出之前的編輯環(huán)境。對(duì)于當(dāng)前所開(kāi)啟的標(biāo)簽頁(yè)組,在下一次編輯時(shí),可以利用 vim 的會(huì)話功能將它們一并開(kāi)啟,快速?gòu)?fù)原到上一次工作狀態(tài),這樣就可以在 vim 中模擬出 IDE 所特有的項(xiàng)目管理功能。

要恢復(fù)上次的編輯環(huán)境,我們需要保存會(huì)話 (session) 信息與 viminfo 信息:

會(huì)話信息中保存了所有窗口的視圖,外加全局設(shè)置;

viminfo 信息中保存了命令行歷史、搜索字符串歷史、輸入行歷史、非空的寄存器內(nèi)容、文件的位置標(biāo)記、最近搜索/替換的模式、緩沖區(qū)列表、全局變量等信息。

對(duì)于 vim 會(huì)話功能的使用,具體細(xì)節(jié)請(qǐng)參閱 easwy 的一篇文章《Vim 會(huì)話與 info》。為了更方便地使用 vim 會(huì)話功能,推薦使用 sessionman.vim插件。

總結(jié)

以上是生活随笔為你收集整理的linux vim(gvim) 多标签页,Vim 的标签页功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产免费黄色小视频 | h网址在线观看 | 日本国产中文字幕 | 午夜小电影 | 久久久久极品 | 91久久久久久 | 韩国精品视频在线观看 | 精品国产视频 | 国产精品免费无遮挡无码永久视频 | 天天干天| 日韩脚交footjobhd | 福利影院在线观看 | 3344av| 五月天丁香久久 | 二级毛片在线观看 | 色盈盈影院 | 91午夜免费视频 | 国产网站免费 | jzz在线观看 | 97超碰在线免费观看 | 黄色成年网站 | 久操视频免费观看 | 中文字幕一区二区三区免费看 | 免费看成人aa片无码视频羞羞网 | 91成人在线视频 | 日本伦理一区二区三区 | 69视频一区二区三区 | 国产专区一| 日本精品一区视频 | 免费看欧美一级片 | 美女扒开腿让人桶爽 | 香蕉视频在线观看网站 | 亚洲av综合色区无码二区爱av | 91亚洲精品久久久蜜桃网站 | 素人女裸体 | 久久精品香蕉视频 | 又欲又污又肉又黄短文 | 99热这里只有精品在线 | 一本色道久久综合亚洲精品酒店 | 99精品视频在线观看免费 | 人妻无码中文字幕免费视频蜜桃 | 男人的网址 | 爱爱网站视频 | 欧洲精品一区二区三区 | 豆国产97在线 | 亚洲 | 亚洲 欧美 日韩 综合 | 黄色免费视频观看 | 自拍 亚洲 欧美 | 伊人黄色片 | 日本大奶视频 | 少妇熟女一区二区三区 | 国产精品揄拍100视频 | 色欧美在线 | 春色激情站 | 成年人看的视频网站 | 亚洲国产成人在线观看 | 色悠悠网址 | 视频在线观看电影完整版高清免费 | 人人爽人人澡 | 成人不卡在线 | 男生和女生靠逼视频 | 光棍天堂av | 免费人成年激情视频在线观看 | 亚洲在线综合 | 久久久噜噜噜久久中文字幕色伊伊 | 日本三级中国三级99人妇网站 | 日韩一区二区三区视频在线 | 美女色黄网站 | 亚洲一二三区在线 | 17c一起操 | 奇米影视亚洲春色 | 色就是色网站 | 色吊丝中文字幕 | 91成年影院| 四虎成人免费视频 | 国产精品久久久久久久无码 | 国产九色91回来了 | 国产一区二区三区四区五区美女 | 久久精品店 | 一区二区三区欧美日韩 | 国产精品资源网站 | 婷婷色中文字幕 | 久久精品午夜 | 天天久久 | 国产一区亚洲 | 日韩精品一区二区亚洲av观看 | 亚洲精品中文字幕在线播放 | 国产成人欧美一区二区三区的 | 欧美做爰全过程免费观看 | 欧美一区二区三区四区视频 | 欧美一级在线观看视频 | 91亚洲精品国偷拍自产在线观看 | 青青草小视频 | 黑人粗进入欧美aaaaa | 久久久精品免费视频 | 日韩a毛片| 亚洲福利精品视频 | 亚洲福利视频一区 | 日本国产网站 |