如何从vimscript中的字符串中提取文件名?

时间:2013-02-26 17:12:16

标签: vim arguments filenames

假设我们在vimscript中给出了这个字符串:

"/home/Linus Torvalds/.vim/bundle/vim-autoformat/formatters/tidy -q --show-errors 0 --show-warnings 0 --indent auto --indent-spaces 2 --vertical-space yes --tidy-mark no --wrap 68"

我们如何提取文件名部分?在这种情况下,将是:

"/home/Linus Torvalds/.vim/bundle/formatters/tidy"

1 个答案:

答案 0 :(得分:0)

如果你能保证路径本身没有短划线(-),我会这样做:

matchstr(input_string,'^.\{-}\ze -')

说明:从字符串(^)的开头开始,匹配任何字符非贪婪(.\{-}),直到第一次出现空格后跟短划线(\ze -)。

或者你可以匹配到第一个破折号,然后使用substitute()命令修剪任何尾随空格,这将不那么简洁,但可能更具可读性。