Так что мой вопрос прост. Это хорошая идея - изучать сценарии vim только для того, чтобы создать vim, или мы должны принять некоторые другие более приемлемые языки для этого.
Например, по этой ссылке открывается видеоролик YouTube, на котором показано, как использовать Python для создания плагинов vim.
Скрипты Vim не совсем полезны, если не планируется создавать некоторые плагины Vim. Так есть ли какая-то конкретная вещь, которую нельзя сделать, если не используются только скрипты vim?
Ответы:
Мои плагины на 99% в VimL. Причина в том, что VimL доступен там, где установлен vim. С другими языками это намного сложнее - например, редко у меня установлен Python на окнах, где я использую Vim.
Конечно, VimL громоздок, ему не хватает многих интересных функций, но, по крайней мере, легче иметь что-то портативное.
1%, которого нет в VimL, - это когда мне нужно взаимодействовать с внешним API, который предлагает привязки к Python.
Кстати, почти все, что вы узнаете о VimL, можно использовать в интерактивном режиме, когда вы играете с такими командами, как
:substitute
. Большинство отображений или макросов также не нуждаются в Python.источник
map()
что ожидает строки или (несвязанные):map
. Мне часто приходится играть с / вокруг вычисления строк, чтобы прийти к моим выводам, например, при генерации отображений или обработке списка вызовов функций ...exec
получите фрагменты VimL. Он позволяет вам написать свою основную логику на языке, на котором вы могли бы работать намного эффективнее, но вам все равно нужно учить VimL.Если вы намереваетесь писать плагины, вам обязательно следует прочитать прекрасную статью Стива Лоша «Написание плагинов Vim» ; не только для того, чтобы решить, будете ли вы придерживаться VimL или нет, но и для лучших советов.
Он также содержит небольшое обсуждение сценариев Vim с другими языками :
По моему опыту, даже когда плагин не-VimL лучше, я в итоге переключаюсь на чистую альтернативу VimL, в основном из-за переносимости. Vim работает практически на любой системе (даже на уродливых и старых унаследованных системах), и не стоит тратить время на установку зависимостей или временное отключение этого плагина (особенно если вы все время забываете, что отключили его и пытаетесь использовать его сопоставления / команды) ,
Даже когда легче установить зависимости, вы можете столкнуться с некоторыми проблемами (например: некоторые плагины на основе Python не работают на 100%, если они получены из общих папок на виртуальных машинах). Вот почему несколько плагинов, которые я написал, используют только VimL.
источник