2009-02-02 2 views
5

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

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

EDIT: В то время как записываемые макросы великолепны, я использую скриптовый движок гораздо больше.

ответ

2

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

EDIT: UltraEdit выходит для Mac и Linux в ближайшее время.

2

Это своего рода клише, но emacs. Или я не понимаю, что такое скриптовый движок UE?

4

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

Там немного кривой обучения, но мой опыт работы с emacs был очень положительным. Я не очень люблю модальные интерфейсы, и ни один другой редактор не накладывает быстрые клавиши навигации под ваши пальцы.

+0

Мне нравится спорить с пользователями emacs об этом. Emacs * * модальный. Существует режим ctrl, режим сдвига, мета-режим. Единственное различие заключается в том, что в vi изменение режима происходит на разных клавишах (esc и i) вместо одного и того же ключа. –

+1

Другое отличие заключается в том, что emacs оставляет «ctrl mode» при отпускании ctrl, а не при нажатии другой клавиши. И я бы не согласился. Ярлык «C-c.» тогда казалось бы, перекрестные моды, что звучит неправильно. В любом случае это сводится к определениям, которые не могут быть правильными, только (un)? Интуитивно понятными. –

+0

Хорошее горе. Emacs не является модальным. Вы просто играете в игры с семантикой, чтобы запутать, а не просвещать.Вы всегда находитесь в режиме редактирования текста, если вы не активно вводите команду. Или, если вы действительно хотите перейти к латунным клавишам, вы всегда находитесь в командном режиме, но некоторые команды ничего не делают, кроме как вставить символ. –

4

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

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

+0

У меня jEdit в течение длительного времени, когда мне нужен текстовый редактор с поддержкой кодирования, но это не полная IDE. Может быть, JavascriptScriptEnginePlugin даже поддерживает скриптинг в javascript? –

+0

Вы правы, описание плагина гласит: «Плагин JavaScriptShell добавляет jEdit новый обработчик сценария, чтобы вы могли писать макросы и сценарии запуска в JavaScript. Он также добавляет оболочку JavaScript в консольный интерфейс, предоставляемый консольным плагином. ' Таким образом, скриптинг в Javascript возможен. – Mnementh

+0

Я использую javascriptshell для написания макросов jedit большую часть времени, но из-за изолированной природы сценариста некоторые параметры недоступны из js-макросов, но для небольших вещей или запуска js libs это чрезвычайно полезно. – Szabi

3

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

+0

Я большой поклонник vim - спасибо за предложение здесь :) – inkedmn

30

Все основные редакторы с открытым исходным кодом и большинство других hava - средство создания сценариев некоторого описания - некоторые из них (в частности, Emacs). Только те, которые не имеют тенденцию быть очень легкие из них, как pico.

vim имеет native scripting language, а также может быть построен с встроенными Python,Tcl или Perl interepreters, которые могут работать на выбор, буферы и т.д. через механизм плагинов. Emacs - все о скриптах - у него есть интерпретатор LISP, встроенный прямо в ядро ​​системы, и большая часть редактора написана в LISP. Есть анекдот об emacs, описывающий его как интерпретатор LISP, который кто-то просто использовал для написания текстового редактора.

Пользовательский интерфейс пользователя Vim происходит от vi, который несколько причудливый, но очень мощный, как только вы привыкнете к нему. Он также отлично записывает макросы клавиатуры и имеет очень хороший инструмент поиска/замены регулярных выражений.

Emacs считается небольшим монстром в стиле барокко и очень большой и сложный. Тем не менее, его возможности сценариев не имеют себе равных и есть enormous variety of macro packages, которые многое делают. У него очень лояльное следование людям, которые клянутся им; как только вы преодолеете кривую обучения (в Интернете есть огромное количество ресурсов, чтобы помочь в этом), это действительно очень мощная система. Вы можете настроить emacs во всю IDE, и есть люди, которые утверждают, что тратят большую часть своего времени на трубу.

Оба этих редактора могут работать в текстовом режиме или с графическим интерфейсом и очень портативны, работают на самых разных платформах. Они оба с открытым исходным кодом.

Я использовал оба параметра; Раньше я использовал XEmacs (основной код-код emacs, который восходит несколько лет назад) в 1990-х годах, но позже отправился в vim. Я даже использую vim для Windows.

Если вы обнаружите, что пользовательский интерфейс Vim или Emacs слишком много, есть variety of other text editors, многие из которых предлагают скрипты. Примерами являются SciTE, который имеет встроенный интерпретатор Lua, NEdit,, который имеет собственный макроязык собственного доморощенного или GEdit, который по существу написан в Python (который также может использоваться для его скриптинга) и имеет API-интерфейс плагина.

EDIT: Вне нескольких конкретных проектов (например Mozilla) Javascript не получил много тяги, как автономный или встроенный язык сценариев в открытых исходных кругах. Исторически не было популярного интерпретатора Javascript с открытым исходным кодом, который получил широкое признание в том, как это делали Python или Tcl/Tk. Javascript более широко используется в системах с закрытым исходным кодом, таких как UltraEdit или InDesign (для обозначения пары), тогда как другие языки более популярны в проектах с открытым исходным кодом.

Ни один из текстовых редакторов с открытым исходным кодом, о котором я не знаю, является javascript в качестве опции для языка сценариев (не стесняйтесь входить и комментировать или редактировать это, если вы знаете об этом). Вам, вероятно, придется переместить Javascript на другой язык, например Python или LISP. Однако теперь, когда QT поставляется с интерпретатором Javascript (QTScript), вы можете найти некоторые из основанных на KDE, которые предлагают это как вариант сценариев, но я не знаю об этом с самого начала.

+1

Комодо Редактировать, как предложил Ионут Г. Стэн. Это не OSS. – geowa4

+0

Любите, как вы все освещали. +1. –

4

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

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

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

2

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

3

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

И, честно говоря, когда кто-то говорит, что им нравится писать сценарии в javascript и ищет что-то подобное в Linux, первое, что вы говорите, это «learn LISP»?!

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


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

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

+0

спасибо, но единственная проблема в том, сколько времени требуется для загрузки Aptana/Eclipse. – geowa4

2

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

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

1

Традиционный способ редактирования текста в текстовом редакторе в Linux - использовать средства, которые (почти) всегда были доступны в * nixes: sed, awk, grep, вещи такого характера. Несомненно, они, возможно, не кажутся «удобными», поскольку можно найти интегрированный движок Javascript, но они очень зрелые и хорошо работают. Если этот скриптовый язык ДОЛЖЕН находиться внутри редактора, Emacs, вероятно, тоже хорош здесь.

Вы можете использовать «интегрированное» решение типа для решения проблемы, как это было упомянуто многими другими, но IMHO в этом отношении более мощная.

0

SciTE может быть написано с помощью Lua и является хорошим, простым редактором, который ведет себя точно так же, если вы переключаетесь между Linux и Windows каждый день.

0

Я не знаю, что вы используете для сценариев в своем редакторе, но вы можете рассмотреть возможность автоматизации этих задач с помощью инструментов командной строки Linux, таких как sed или awk.

Смежные вопросы