如何在Vim?</cfile>中回显%,<cfile>等特殊字符

时间:2011-12-20 05:59:26

标签: vim

说我想看看我在哪个目录,我输入

:echo .

并收到错误消息:

E15:Invalid expression .

如何回应%.<cfile>等特殊字符?

2 个答案:

答案 0 :(得分:6)

您需要使用expand()

例如

:echo expand("%:h")

打印实际目录(当前缓冲区)。

另见:help expand

如果你想查询当前目录(这是缓冲区独立的),你应该只是:pwd。 (见:help current-directory

(编辑:根据ib的评论从:cd更改为:pwd

答案 1 :(得分:4)

有一个特殊的命令来打印当前目录路径,

:pwd

(参见Vim的:help :pwd和整个“当前目录”部分 帮助,:h current-directory。)

要快速找出Vim命令行特殊内容扩展到哪些路径,请使用

:echo expand('%:p:h')

或更短,

:!echo %:p:h

前一个命令基于扩展通配符的expand()函数 和给定参数中的特殊关键字(请参阅:help expand)。后者 命令利用了在运行之前扩展通配符的事实 外部命令(见:help cmdline-special)。