2009-02-02 49 views
5

Trong một thời gian, tôi đã sử dụng UltraEdit trên hộp Windows của mình. Khả năng viết kịch bản với một ngôn ngữ quen thuộc (JavaScript) đã chứng minh là cực kỳ hữu ích. Vấn đề duy nhất là tôi không thể sử dụng nó trên hộp Linux của tôi tại nơi làm việc. Có một trình soạn thảo văn bản có thể so sánh chạy trên Linux và có một công cụ tạo tập lệnh tích hợp không?Trình soạn thảo văn bản với Scripting ... cho Linux

Không phá vỡ ngân hàng và hoạt động đa nền tảng sẽ tuyệt vời.

CHỈNH SỬA: Trong khi các macro có thể ghi là tuyệt vời, tôi sử dụng công cụ tạo kịch bản nhiều hơn nữa.

Trả lời

2

Có vẻ như Komodo Edit, SciTEEclipse Monkey là người chiến thắng. Komodo Edit có vẻ giống với Ultra Edit nhất. SciTE là thứ mà tôi đã sử dụng trước đây, và Lua không phải là khó khăn; SciTE's API mặc dù không có vẻ rộng như Komodo Edit's API. Eclipse Monkey là một cái gì đó tôi chắc chắn sẽ sử dụng, nhưng nó đòi hỏi Eclipse, mà chắc chắn không phải là một trình soạn thảo văn bản.

EDIT: UltraEdit sắp ra mắt cho Mac và Linux.

2

Đó là loại cliche, nhưng emacs. Hay tôi hiểu lầm về động cơ kịch bản của UE là gì?

2

Dùng thử Emacs, hoặc XEmacs hoặc GNU Emacs.

4

emacs là miễn phí và có phương ngữ lisp nhúng riêng của mình mà có thể được sử dụng để viết gần bất cứ điều gì, kể cả kịch bản ánh sáng cũng như các đại lý sử dụng mail và IRC client ;-)

Có một chút của một đường cong học tập, nhưng kinh nghiệm của tôi với emacs đã rất tích cực. Tôi không thích giao diện phương thức quá nhiều và không có trình chỉnh sửa nào khác đặt các phím tắt điều hướng ngay dưới ngón tay của bạn.

+0

Tôi thích tranh luận với những người dùng emacs về điều này. Emacs * là * phương thức. Có chế độ ctrl, chế độ thay đổi, chế độ meta. Sự khác biệt duy nhất là trong vi, thay đổi chế độ là trên các phím khác nhau (esc và i) thay vì cùng một khóa. –

+1

Sự khác biệt khác là các emacs rời khỏi "chế độ ctrl" khi bạn nhả ctrl, chứ không phải khi bạn nhấn một phím khác. Và tôi thực sự không đồng ý. Phím tắt "C-c." sau đó sẽ có vẻ để qua các chế độ, mà âm thanh sai. Trong bất kỳ trường hợp nào nó đi xuống định nghĩa, mà không thể chính xác, chỉ (un)? Trực quan. –

+0

Tốt đau buồn. Emacs không phải là phương thức. Bạn chỉ chơi trò chơi với ngữ nghĩa để gây nhầm lẫn thay vì giáo dục.Bạn luôn ở chế độ chỉnh sửa văn bản trừ khi bạn đang tích cực nhập lệnh. Hoặc, nếu bạn thực sự muốn nhận được xuống để đồng thau đinh, bạn luôn ở chế độ lệnh nhưng một số lệnh không làm gì hơn chèn một ký tự. –

4

Tôi sử dụng jEdit, đó là trình chỉnh sửa tuyệt vời và cho phép được viết kịch bản với beanshell. Vì nó được viết bằng Java, nó chạy tốt trong Windows và Linux.

Simon Groenewolt đã đề cập, có một plugin (JavascriptShell) tồn tại, cho phép bạn viết Macro và Scripts cũng bằng Javascript, không chỉ trong Beanshell.

+0

Tôi đã jEdit trong một thời gian dài, bất cứ khi nào tôi cần một trình soạn thảo văn bản có hỗ trợ mã hóa nhưng đó không phải là một IDE đầy đủ. Có lẽ JavascriptScriptEnginePlugin thậm chí còn hỗ trợ kịch bản nó trong javascript? –

+0

Bạn nói đúng, mô tả của plugin nói: 'Plugin JavaScriptShell thêm vào jEdit một trình xử lý tập lệnh mới để bạn có thể viết các macro và các tập lệnh khởi động trong JavaScript. Nó cũng bổ sung thêm JavaScript shell vào giao diện console được cung cấp bởi Console Plugin. ' Vì vậy, kịch bản trong Javascript là có thể. – Mnementh

+0

Tôi sử dụng javascriptshell để viết các macro jedit của mình hầu hết thời gian, nhưng do tính chất sandboxed của scriptrunner, một số tùy chọn không có sẵn từ các macro js, ​​nhưng đối với những thứ nhỏ hơn hoặc chạy js libs, nó cực kỳ hữu ích. – Szabi

3

Nếu bạn không cần tập lệnh thực sự phức tạp, vim/gvim cho phép bạn ghi lại một chuỗi phím bấm và phát lại. Và bạn có thể cung cấp số lượng lặp lại khi phát lại, vì vậy bạn có thể ghi lại một thao tác trên một dòng, sau đó lặp lại nó cho 10.000 dòng tiếp theo trong một bước.

+0

Tôi là một fan hâm mộ lớn của vim - cảm ơn vì đã đề xuất nó ở đây :) – inkedmn

30

Tất cả các trình soạn thảo nguồn mở chính và hầu hết những người khác đều có cơ sở viết kịch bản của một số mô tả - một số (Emacs nói riêng) nổi tiếng về nó. Những người duy nhất mà không có xu hướng những người rất nhẹ như pico.

vimnative scripting language và cũng có thể được xây dựng với nhúng Python,Tcl hoặc Perl interepreters có thể hoạt động trên các lựa chọn, bộ đệm vv thông qua cơ chế plugin. Emacs là tất cả về kịch bản - nó có một trình thông dịch LISP được xây dựng ngay vào lõi của hệ thống và hầu hết các trình soạn thảo được viết bằng LISP. Có một trò đùa đang diễn ra về các emacs mô tả nó như là một thông dịch viên LISP mà ai đó vừa tình cờ sử dụng để viết một trình soạn thảo văn bản.

Giao diện người dùng của Vim có nguồn gốc từ vi, hơi kỳ quặc nhưng rất mạnh mẽ khi bạn quen với nó. Nó cũng ghi lại các macro bàn phím đặc biệt tốt và có một cơ sở tìm kiếm/thay thế biểu thức chính quy rất đẹp.

Emacs được coi là một chút quái dị baroque và rất lớn và phức tạp. Tuy nhiên, khả năng kịch bản của nó là không ai sánh kịp và có một số enormous variety of macro packages làm nhiều việc. Nó có một người rất trung thành với những người thề; một khi bạn đã vượt qua được đường cong học tập (có một lượng lớn tài nguyên trên web để trợ giúp về điều này) thì đó là một hệ thống rất mạnh mẽ. Bạn có thể tùy chỉnh emacs thành một IDE toàn bộ và có những người xung quanh yêu cầu bồi thường để dành phần lớn thời gian ống của họ trong đó.

Cả hai trình chỉnh sửa này đều có thể hoạt động ở chế độ văn bản hoặc bằng GUI và có độ di động cao, chạy trên nhiều nền tảng khác nhau. Cả hai đều là mã nguồn mở.

Tôi đã sử dụng cả hai; Tôi sử dụng để sử dụng XEmacs (một mã chính-ngã ba của emacs mà đi lại một số năm) trở lại trong những năm 1990 nhưng đã đi đến vim sau này. Tôi thậm chí còn sử dụng vim trên Windows.

Nếu bạn thấy giao diện người dùng của Vim hoặc Emacs hơi quá nhiều, có sẵn variety of other text editors, nhiều trong số đó cung cấp tính năng tạo tập lệnh. Ví dụ về số này là SciTE, được tích hợp sẵn trong thông dịch viên Lua, NEdit, có ngôn ngữ macro homebrew riêng hoặc GEdit, được viết một cách đáng kể trong Python (cũng có thể được sử dụng để viết mã) và có API plugin.

EDIT: Bên ngoài một số dự án cụ thể (ví dụ: Mozilla) Javascript không bao giờ có nhiều lực kéo như ngôn ngữ kịch bản độc lập hoặc nhúng trong vòng kết nối nguồn mở. Về mặt lịch sử, không có một trình thông dịch Javascript nguồn mở phổ biến nào được chấp nhận rộng rãi theo cách mà Python hoặc Tcl/Tk đã làm. Javascript được sử dụng rộng rãi hơn trong các hệ thống nguồn đóng như UltraEdit hoặc InDesign (để đặt tên cho một cặp vợ chồng) trong khi các ngôn ngữ khác phổ biến hơn trên các dự án mã nguồn mở.

Không có trình chỉnh sửa văn bản nguồn mở nào mà tôi biết về javascript tính năng làm tùy chọn cho ngôn ngữ kịch bản (cảm thấy tự do để tham gia và nhận xét hoặc chỉnh sửa nếu bạn biết). Bạn có thể sẽ phải chuyển Javascript sang một ngôn ngữ khác như Python hoặc LISP. Tuy nhiên, bây giờ QT đi kèm với một trình thông dịch Javascript (QTScript), bạn có thể tìm thấy một số KDE dựa trên những người cung cấp này như là một tùy chọn kịch bản, nhưng tôi không đặc biệt nhận thức của bất kỳ ra khỏi đỉnh đầu của tôi.

+1

Komodo Edit, theo đề xuất của Ionut G. Stan. Nó không phải là OSS. – geowa4

+0

Yêu cách bạn bảo vệ mọi thứ. +1. –

4

Vim là mặt ở khắp nơi và vimscript là thực sự dễ dàng và văn bản chỉnh sửa định hướng: http://vimdoc.sourceforge.net/htmldoc/usr_41.html

Đó kèm theo mặc định. Bạn cũng có thể sử dụng Python, Ruby, Perl, Scheme ... nhưng điều đó đòi hỏi phải biên dịch.

Python có thể là lựa chọn tốt vì omnicomplete yêu cầu nó. Tôi chạy một nhị phân riêng biệt cho omnicomplete anyway kể từ khi tôi thích vim siêu nạc cho sử dụng khác, kiểm tra ở đây: http://vim.wikia.com/wiki/Compile_a_separate_copy_of_Vim_for_Python_coding

Thành thật mà nói tôi đã không sử dụng python để script vim mỗi se. Tôi thường mã, trăn hay không, với vani vani và không tự động hoàn thành. Tuy nhiên, tôi gọi python và bất kỳ lệnh nào khác từ vim để xử lý các dòng tệp của tôi theo dòng, có thể trả lời nhiều hơn về điều đó nếu bạn quan tâm, nhưng điều đó không đòi hỏi phải biên dịch bất kỳ thứ gì.

CHỈNH SỬA: nếu bạn muốn trình chỉnh sửa điểm và nhấp, bạn có thể chạy Cream trên gVim http://cream.sourceforge.net/download.html Tôi vẫn nghĩ rằng vim mất ít thời gian để làm quen và rất đáng học hỏi, vì vậy bạn có thể sử dụng kiến thức vi cơ bản để kết nối với một máy chủ thông qua SSH không có vấn đề, và nó được cài đặt trong bất kỳ * nix. Tôi thích kiến ​​thức tôi có thể tái sử dụng, giúp tôi tiết kiệm thời gian và rắc rối lâu dài.

2

Tôi sử dụng gedit. Bạn có thể viết các plugin bằng Python.

3

Chà, tôi thực sự không muốn bắt đầu một cuộc chiến thánh thiện ở đây, nhưng tất cả những đề xuất của Emacs đều thiếu điểm. Emacs rất mạnh, nhưng hãy thành thật. Nó không có một đường cong học tập rất nhiều như một WALL học tập. Đi từ một trình soạn thảo kiểu IDE và bấm như UltraEdit sẽ là một cú sốc văn hóa lớn.

Và thành thật mà nói, khi ai đó nói rằng họ thích viết kịch bản trong javascript và đang tìm kiếm thứ gì đó tương tự trong Linux, điều đầu tiên bạn nói là "tìm hiểu LISP"?!

Đây là lý do tại sao mọi người nghĩ Linux là khó sử dụng


Tôi sẽ đi theo hướng hoàn toàn khác và đề nghị Aptana Studio

Nó đã được xây dựng trong làm nổi bật và mã kết thúc cho nhiều ngôn ngữ và hỗ trợ viết mã bằng javascript với Eclipse Monkey. Nó dựa trên Eclipse, và do đó chạy trên java do đó đa nền tảng. Và nó có sẵn miễn phí.

+0

cảm ơn, nhưng vấn đề duy nhất là phải mất bao lâu để Aptana/Eclipse tải. – geowa4

2

Komodo Edit được tạo trên đầu XUL Runner của Mozilla. Nó cung cấp khả năng mở rộng kỹ lưỡng cả hai phần mở rộng (như Firefox) hoặc macro, đoạn mã, lệnh. Bạn có thể viết các đoạn mã này bằng JavaScript hoặc Python, điều này rất hay, nhưng bạn vẫn phải biết the API để làm điều gì đó hữu ích.

Được xây dựng bằng công nghệ Mozilla, nó cũng chạy trên Linux.

1

Cách truyền thống để thực hiện chỉnh sửa văn bản theo kịch bản trong Linux là sử dụng các cơ sở có (hầu như) luôn có sẵn trong * nixes: sed, awk, grep, những thứ có tính chất đó. Chắc chắn, họ có thể không xuất hiện để được "tiện dụng" như một trong những có thể tìm thấy một công cụ Javascript tích hợp, nhưng họ đang rất trưởng thành và làm việc tốt. Nếu ngôn ngữ kịch bản này PHẢI nằm trong trình soạn thảo, Emacs có lẽ là một ngôn ngữ tốt ở đây.

Bạn có thể sử dụng giải pháp kiểu "tích hợp" để giải quyết vấn đề, như nhiều người khác đã đề cập, nhưng IMHO dòng lệnh mạnh hơn trong lĩnh vực này.

0

SciTE có thể được viết kịch bản với Lua và là trình soạn thảo đơn giản, tốt, hoạt động giống như cách bạn đang chuyển đổi giữa Linux và Windows mỗi ngày.

0

Tôi không biết bạn đang sử dụng khả năng viết mã trong trình soạn thảo của mình, nhưng bạn có thể muốn xem xét tự động hóa các tác vụ đó bằng cách sử dụng các công cụ dòng lệnh Linux chẳng hạn như sed hoặc awk.

Các vấn đề liên quan