Как вызвать встроенную функцию Vim?

#vim

#vim

Вопрос:

В разделе 4 справочного руководства по Vim перечислен ряд встроенных функций:

 4. Builtin Functions                                    *functions*

See |function-list| for a list grouped by what the function is used for.

(Use CTRL-] on the function name to jump to the full explanation.)

USAGE                           RESULT  DESCRIPTION     ~

abs({expr})                     Float or Number  absolute value of {expr}
acos({expr})                    Float   arc cosine of {expr}
add({object}, {item})           List/Blob   append {item} to {object}
and({expr}, {expr})             Number  bitwise AND
append({lnum}, {text})          Number  append {text} below line {lnum}
  

Как мне вызвать эти функции? Как мне, например, получить абсолютное значение числа?

Ответ №1:

Вы можете вызвать встроенную функцию следующим образом, с помощью команды call или в выражении:

 let x = abs(-2)
" or, for functions where you're not interested in the return value:
:call clearmatches()
  

Ответ №2:

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

Функции представлены в главе 41 руководства пользователя:

 :help usr_41.txt
  

Ответ №3:

Во-первых, обратите внимание, что нет видимой разницы между пользовательскими функциями и встроенными функциями с точки зрения использования.

Функции, которые ничего не возвращают, предназначены для вызова с :call — обратите внимание, что они все равно всегда будут возвращать 0.

Другие функции возвращают выражения. Эти выражения могут быть

  • используется для построения более сложных выражений
    • поскольку они передаются другим функциям
    • как они объединяются, добавляются, умножаются…
    • поскольку они используются в качестве индекса getline('.')[col('.')-1]
  • переданные в vim ex-команды, которые могли бы быть использованы для
    • :echo выражение
    • присвойте выражение переменной с :let
    • :execute другая vim-команда ex, например :exe line('$')/2