• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Vimscript 路径

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Vim是一个文本编辑器,而文本编辑器(经常)处理文本文件。文本文件储存在文件系统中, 而我们使用路径来描述文件。Vimscript有一些内置的方法会在你需要处理路径时帮上大忙。

绝对路径

有时外部脚本也需要获取特定文件的绝对路径名。执行下面的命令:

:echom expand('%')
:echom expand('%:p')
:echom fnamemodify('foo.txt', ':p')

第一个命令显示我们正在编辑的文件的相对路径。%表示"当前文件"。 Vim也支持其他一些字符串作为expand()的参数。

第二个命令显示当前文件的完整的绝对路径名。字符串中的:p告诉Vim你需要绝对路径。 这里也有许多别的修饰符可以用到。

第三个命令显示了当前文件夹下的文件foo.txt的绝对路径,无论文件是否存在。(译注:试一下看看文件不存在的情况?) fnamemodify()是一个比expand()灵活多了的Vim函数, 你可以指定任意文件名作为fnamemodify()的参数,而不仅仅是expand()所需要的那种特殊字符串。

列出文件

你可能想要得到一个特定文件夹下的文件列表。执行下面的命令:

:echo globpath('.', '*')

Vim将输出当前目录下所有的文件和文件夹。globpath()函数返回一个字符串, 其中每一项都用换行符隔开。为了得到一个列表,你需要自己去split()。执行这个命令:

:echo split(globpath('.', '*'), '\n')

这次Vim显示一个包括各个文件路径的Vimscript列表。 如果你的文件名里包括了换行符,那就只能由你自己想办法了。

globpath()的通配符(wildcards)的工作方式就像你所想的一样。执行下面的命令:

:echo split(globpath('.', '*.txt'), '\n')

Vim显示一个当前文件夹下的所有.txt文件组成的列表。

你可以用**递归地列出文件。执行这个命令:

:echo split(globpath('.', '**'), '\n')

Vim将列出当前文件夹下的所有文件及文件夹。

globpath()_非常地_强大。在你完成本章练习后,你将学到更多内容。

练习

阅读:help expand().

阅读:help fnamemodify().

阅读:help filename-modifiers.

阅读:help simplify().

阅读:help resolve().

阅读:help globpath().

阅读:help wildcards.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Vimscript 创建一个完整的插件发布时间:2022-02-03
下一篇:
Vimscript 函数式编程发布时间:2022-02-03
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap