14

Я хочу перечислить все типы файлов, которые Vim распознает по пути выполнения.

Например:

ada
arc
c
clojure
common-lisp
elisp
go
python

Как мне это сделать?

1 ответ1

17

Если они вам нужны для пользовательской команды, которая принимает аргументы типа файла, вы можете просто использовать :command -complete=filetype . Иначе, вы можете получить список с помощью функции globpath() самостоятельно:

echo join(map(split(globpath(&rtp, 'ftplugin/*.vim'), '\n'), 'fnamemodify(v:val, ":t:r")'), "\n")

Это получает все сценарии ftplugin из runtimepath, а затем изменяет спецификацию файла с помощью fnamemodify() чтобы вывести только корень имени файла. split() преобразуется в List, и join() возвращается к строкам для :echo ing.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .