说我想看看我在哪个目录,我输入
:echo .
并收到错误消息:
E15:Invalid expression .
如何回应%
,.
,<cfile>
等特殊字符?
答案 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
)。