我想在vimscript中为任何路径字符串(不一定是当前文件的路径)执行与bash dirname
命令或python os.path.split()[0]
相同的操作。如何获取路径字符串的父目录
样品所需的行为:
/a/b/
- >/a
/a/b
- >/a
我试图fnamemodify()
但对我来说它的输出似乎取决于是否存在或不显示目录:
:ec fnamemodify('/usr/idontexist', ':p:h')
给出:
/usr
这是很好的,但是:
:ec fnamemodify('/usr/bin', ':p:h')
给出:
/usr/bin
这不是我想要什么,我无法弄清楚它是什么这样做。
我希望找到一个跨平台的解决方案。
我认为这不是我的问题的由来,但我反而问自己,无论如何,所以+1。多么复杂的行为... – 2013-05-10 16:14:25
t请回我的最后一条评论,这*是我的问题的主要原因!使用':p'不仅仅是因为dir可能不存在,而是因为使用':p:h'不能做我想要的。 ':p'删除了'idontexist'部分,似乎做了我想要的东西,这些都属于未定义的行为,只会让我感到困惑。 – 2013-05-11 05:33:09