W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Vim是一個文本編輯器,而文本編輯器(經(jīng)常)處理文本文件。文本文件儲存在文件系統(tǒng)中, 而我們使用路徑來描述文件。Vimscript有一些內(nèi)置的方法會在你需要處理路徑時幫上大忙。
有時外部腳本也需要獲取特定文件的絕對路徑名。執(zhí)行下面的命令:
:echom expand('%')
:echom expand('%:p')
:echom fnamemodify('foo.txt', ':p')
第一個命令顯示我們正在編輯的文件的相對路徑。%
表示"當前文件"。 Vim也支持其他一些字符串作為expand()
的參數(shù)。
第二個命令顯示當前文件的完整的絕對路徑名。字符串中的:p
告訴Vim你需要絕對路徑。 這里也有許多別的修飾符可以用到。
第三個命令顯示了當前文件夾下的文件foo.txt
的絕對路徑,無論文件是否存在。(譯注:試一下看看文件不存在的情況?)?fnamemodify()
是一個比expand()
靈活多了的Vim函數(shù), 你可以指定任意文件名作為fnamemodify()
的參數(shù),而不僅僅是expand()
所需要的那種特殊字符串。
你可能想要得到一個特定文件夾下的文件列表。執(zhí)行下面的命令:
:echo globpath('.', '*')
Vim將輸出當前目錄下所有的文件和文件夾。globpath()
函數(shù)返回一個字符串, 其中每一項都用換行符隔開。為了得到一個列表,你需要自己去split()
。執(zhí)行這個命令:
:echo split(globpath('.', '*'), '\n')
這次Vim顯示一個包括各個文件路徑的Vimscript列表。 如果你的文件名里包括了換行符,那就只能由你自己想辦法了。
globpath()
的通配符(wildcards)的工作方式就像你所想的一樣。執(zhí)行下面的命令:
:echo split(globpath('.', '*.txt'), '\n')
Vim顯示一個當前文件夾下的所有.txt
文件組成的列表。
你可以用**
遞歸地列出文件。執(zhí)行這個命令:
:echo split(globpath('.', '**'), '\n')
Vim將列出當前文件夾下的所有文件及文件夾。
globpath()
_非常地_強大。在你完成本章練習后,你將學到更多內(nèi)容。
閱讀:help expand()
.
閱讀:help fnamemodify()
.
閱讀:help filename-modifiers
.
閱讀:help simplify()
.
閱讀:help resolve()
.
閱讀:help globpath()
.
閱讀:help wildcards
.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: