Ruby的strip()(条带前导和尾随空格)是否有vimscript等价物?

时间:2010-12-18 16:22:25

标签: vim

我正在寻找一个VimScript函数,它可以在字符串之前删除任何尾随或前导空格。

2 个答案:

答案 0 :(得分:27)

由于8.0.1630 vim有trim()

对于旧版本:假设您尝试对vimscript中的变量执行此操作,则可以执行此操作:

let new_var = substitute(var, '^\s*\(.\{-}\)\s*$', '\1', '')

如果您愿意,您可以随时使自己成为自己的职能:

function! Strip(input_string)
    return substitute(a:input_string, '^\s*\(.\{-}\)\s*$', '\1', '')
endfunction

let new_var = Strip(var)

答案 1 :(得分:6)

由于8.0.1630 vim具有内置的trim()函数来执行此操作。从文档中:

  

trim({text}[, {mask}])

  Return {text} as a String where any character in {mask} is
  removed from the beginning and  end of {text}.
  If {mask} is not given, {mask} is all characters up to 0x20,
  which includes Tab, space, NL and CR, plus the non-breaking
  space character 0xa0.
  This code deals with multibyte characters properly.

因此,调用trim(var)将删除var中的前导空格和尾随空格。