Все основные редакторы с открытым исходным кодом и большинство других имеют возможность написания сценариев с некоторыми описаниями - некоторые (в частности, Emacs) известны этим. Единственные, которые не имеют тенденцию быть очень легкими, такие как pico.
vim имеет собственный язык сценариев и может также быть построен со встроенным Python, Tcl или Perl интерпретаторы, которые могут работать с выборками, буферами и т. д. с помощью механизма плагинов. Emacs - это все о скриптах - в него встроен интерпретатор LISP, встроенный прямо в ядро системы, и большая часть редактора написана на LISP. Emacs описывает шутку, которая описывает его как интерпретатор LISP, который кто-то случайно использовал для написания текстового редактора.
Пользовательский интерфейс Vim произошел от vi, что несколько странно, но очень мощно, когда вы к нему привыкли. Он также особенно хорошо записывает клавиатурные макросы и имеет отличную возможность поиска / замены регулярных выражений.
Emacs считается чудовищем барокко, он очень большой и сложный. Тем не менее, его возможности сценариев не имеют себе равных, и существует огромное разнообразие макропакетов , которые делают много вещей. У него очень лояльное отношение к людям, которые клянутся им; После того, как вы преодолели кривую обучения (в Интернете есть огромное количество ресурсов, чтобы помочь с этим), это действительно очень мощная система. Вы можете настроить emacs в целую среду IDE, и есть люди, которые утверждают, что проводят в них большую часть своего времени в трубе.
Оба этих редактора могут работать в текстовом режиме или с графическим интерфейсом и являются легко переносимыми, работающими на самых разных платформах. Они оба с открытым исходным кодом.
Я использовал оба; Раньше я использовал XEmacs (основной код-форк emacs, который существует уже несколько лет) еще в 1990-х, но позже перешел к vim. Я даже использую vim на Windows.
Если вам кажется, что пользовательский интерфейс Vim или Emacs немного перегружен, есть множество других текстовых редакторов , многие из которых предлагают скрипты. Примерами этого являются SciTE со встроенным интерпретатором Lua , NEdit, со своим собственным языком макросов для домашнего пивоварения или GEdit , который в основном написан на Python (который также может быть использован для его написания скриптов) и имеет API плагина.
РЕДАКТИРОВАТЬ: За исключением нескольких конкретных проектов (например, Mozilla ), Javascript никогда не пользовался особой популярностью в качестве автономного или встроенного языка сценариев в кругах с открытым исходным кодом. Исторически не было популярного интерпретатора Javascript с открытым исходным кодом, который получил бы широкое признание в отличие от Python или Tcl / Tk. Javascript более широко используется в системах с закрытым исходным кодом, таких как UltraEdit или InDesign (чтобы назвать пару), тогда как другие языки были более популярны в проектах с открытым исходным кодом.
Ни один из текстовых редакторов с открытым исходным кодом, о которых мне известно, что функция javascript является опцией для языка сценариев (не стесняйтесь заходить и комментировать или редактировать это, если вам известен один из них). Вам, вероятно, придется переместить Javascript на другой язык, такой как Python или LISP. Тем не менее, теперь, когда QT поставляется с интерпретатором Javascript (QTScript), вы можете найти некоторые из основанных на KDE, предлагающих это в качестве опции для сценариев, но я точно не знаю ни одного из них.