есть ли vimscript-эквивалент для strip () Руби (пробелы в начале и в конце полосы)? - PullRequest
19 голосов
/ 18 декабря 2010

Я ищу функцию VimScript, которая убирает все завершающие или начальные пробелы перед строкой.

Ответы [ 2 ]

27 голосов
/ 18 декабря 2010

С 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)
7 голосов
/ 11 ноября 2018

Поскольку 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...