ViM: как поместить строку из диалогового окна ввода в список - PullRequest
4 голосов
/ 27 марта 2011

VIM: Кто-нибудь знает, как поместить строку из диалогового окна ввода в список?

pe:

строка "3,5,12,15"

to:

list item[1] = 3
list item[2] = 5
list item[3] = 12
etc.

и как узнать, сколько спискапредметы есть?

Ответы [ 2 ]

4 голосов
/ 27 марта 2011

С :h E714

:let l = len(list)              " number of items in list
:let list = split("a b c")      " create list from items in a string

В вашем случае

let string = "3,5,7,19"
let list = split(string, ",")
echo len(list)
2 голосов
/ 27 марта 2011

Используйте функции split, len и empty:

let list=split(string, ',')
let list_length=len(list)
" If all you want is to check whether list is empty:
if empty(list)
    throw "You must provide at least one value"
endif

Обратите внимание, что если вы хотите получить список чисел из строки, вам придется использовать карту для преобразования элементов списка в числа:

let list=map(split(string, ','), '+v:val')

В большинстве случаев можно ожидать преобразования строк в числа, но иногда такое преобразование не выполняется.

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