Текстовый редактор со сценариями ... для Linux - PullRequest
5 голосов
/ 03 февраля 2009

Уже некоторое время я использую UltraEdit на своем Windows-боксе. Способность писать скрипты на знакомом языке (JavaScript) оказалась чрезвычайно полезной. Единственная проблема заключается в том, что я не могу использовать его на своем компьютере с Linux на работе. Существует ли сопоставимый текстовый редактор, который работает в Linux и имеет встроенный механизм сценариев?

Было бы здорово не разбить банк и стать кроссплатформенным.

РЕДАКТИРОВАТЬ: Хотя записываемые макросы хороши, я использую механизм сценариев гораздо больше.

Ответы [ 14 ]

30 голосов
/ 03 февраля 2009

Все основные редакторы с открытым исходным кодом и большинство других имеют возможность написания сценариев с некоторыми описаниями - некоторые (в частности, 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, предлагающих это в качестве опции для сценариев, но я точно не знаю ни одного из них.

4 голосов
/ 03 февраля 2009

Vim вездесущ, а vimscript действительно прост и ориентирован на редактирование текста: http://vimdoc.sourceforge.net/htmldoc/usr_41.html

Это происходит по умолчанию. Вы также можете использовать Python, Ruby, Perl, Scheme ... но это требует компиляции.

Python может быть хорошим выбором, так как это требуется для omnicomplete. В любом случае я запускаю отдельный двоичный файл для omnicomplete, так как мне нравится сверхтонкий vim для другого использования, проверьте здесь: http://vim.wikia.com/wiki/Compile_a_separate_copy_of_Vim_for_Python_coding

Честно говоря, я не использовал python для написания vim как такового. Я обычно пишу код, python или нет, с vanilla vim и без автозаполнения. Однако я вызываю python и любую другую команду из vim для обработки моих файлов построчно, если вам это интересно, вы можете получить дополнительную информацию об этом, но для этого ничего не нужно компилировать, работает как есть.

РЕДАКТИРОВАТЬ: если вам нужен редактор с указателем и щелчком, вы можете запустить Cream на gVim http://cream.sourceforge.net/download.html Я все еще думаю, что к vim требуется совсем немного времени, чтобы привыкнуть, и ОЧЕНЬ стоит учиться, тем более что вы можете использовать свои базовые знания vi для подключения к серверу через SSH без проблем, и он установлен в любом * nix. Мне нравятся знания, которые я могу использовать повторно, экономит время и проблемы в долгосрочной перспективе.

4 голосов
/ 03 февраля 2009

Я использую jEdit , это отличный редактор, который позволяет создавать скрипты с бобовой оболочкой. Как написано на Java, он хорошо работает под Windows и Linux.

Саймон Гроенволт упомянул, что существует плагин ( JavascriptShell ), который позволяет писать макросы и сценарии также в Javascript, а не только в Beanshell.

4 голосов
/ 03 февраля 2009

emacs бесплатен и имеет свой собственный встроенный диалект lisp, который можно использовать для написания практически чего угодно, включая легкие сценарии, а также почтовых пользовательских агентов и клиентов IRC; -)

Есть некоторая кривая обучения, но мой опыт работы с emacs был очень позитивным. Мне не очень нравятся модальные интерфейсы, и никакой другой редактор не помещает ярлыки навигации прямо под ваши пальцы.

3 голосов
/ 03 февраля 2009

Ух ты, я действительно не хочу начинать священную войну здесь, но все эти рекомендации Emacs отчасти упускают суть. Emacs очень мощный, но давайте будем честны. У него не столько кривая обучения, сколько обучающая стена. Переход от редактора стиля IDE типа «укажи и щелкни», такого как UltraEdit, станет огромным культурным шоком.

И, честно говоря, когда кто-то говорит, что ему нравится писать скрипты в javascript и ищут что-то похожее в Linux, первое, что вы говорите, это "Learn LISP" ?!

Вот почему люди думают, что Linux трудно использовать


Я собираюсь полностью пойти в другом направлении и предложить Aptana Studio

Он имеет встроенную подсветку и автозавершение кода для различных языков, а также поддерживает сценарии в javascript с Eclipse Monkey . Он основан на Eclipse, и, следовательно, работает на Java, следовательно, мультиплатформенный. И это доступно бесплатно.

3 голосов
/ 03 февраля 2009

Если вам не нужны действительно сложные сценарии, vim / gvim позволяет вам записать последовательность нажатий клавиш и воспроизвести ее. И вы можете подсчитать количество повторов воспроизведения, чтобы записать операцию в одну строку, а затем повторить ее для следующих 10000 строк за один шаг.

2 голосов
/ 05 февраля 2009

Похоже, Komodo Edit , SciTE и Eclipse Monkey являются победителями. Komodo Edit кажется наиболее похожим на Ultra Edit. SciTE - это то, что я использовал раньше, и с Lua это не так сложно; API SciTE хотя и не такой обширный, как API Komodo Edit . Eclipse Monkey - это то, что я определенно собираюсь использовать, но для этого требуется Eclipse, который определенно не является текстовым редактором.

РЕДАКТИРОВАТЬ: UltraEdit скоро выйдет для Mac и Linux.

2 голосов
/ 03 февраля 2009

Komodo Edit сделан поверх XUL Runner от Mozilla. Он предлагает возможности для его расширения либо расширениями (например, Firefox), либо макросами, фрагментами, командами. Вы можете написать эти фрагменты на JavaScript или Python, что приятно, но вам все равно нужно знать API , чтобы сделать что-то полезное.

Будучи собранным по технологии Mozilla, он работает и на Linux.

2 голосов
/ 03 февраля 2009

Я использую Gedit. Вы можете написать плагины в Python.

2 голосов
/ 03 февраля 2009

Попробуйте Emacs, XEmacs или GNU Emacs.

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