簡體   English   中英

帶腳本的文本編輯器...適用於Linux

[英]Text Editor with Scripting…for Linux

有一段時間了,我一直在我的Windows機器上使用UltraEdit。 用熟悉的語言(JavaScript)編寫腳本的能力已被證明是非常有用的。 唯一的問題是我不能在我的Linux機箱上使用它。 是否有可比的文本編輯器在Linux上運行並具有集成的腳本引擎?

不破壞銀行和跨平台將是偉大的。

編輯:雖然可記錄的宏很棒,但我更多地使用腳本引擎。

所有主要的開源編輯器和大多數其他編輯器都有一些描述的腳本設施 - 有些(特別是Emacs)因此而聞名。 唯一不像pico那樣非常輕量級的那些

vim有一個本機腳本語言 ,也可以使用嵌入式Python, TclPerl interpreters構建,可以通過插件機制對選擇,緩沖等進行操作。 Emacs是關於腳本的 - 它有一個內置於系統核心的LISP解釋器,大部分編輯器都是用LISP編寫的。 有一個關於emacs的笑話,它把它描述為一個LISP解釋器,有人恰好用它來編寫文本編輯器。

Vim的用戶界面來自vi,它有點古怪,但是一旦你習慣它就會非常強大。 它還可以很好地記錄鍵盤宏,並且具有非常好的正則表達式搜索/替換功能。

Emacs被認為是一個巴洛克式的怪物,非常龐大而復雜。 但是,它的腳本編寫能力是首屈一指的,並且有很多種宏功能包可以做很多事情。 它有一個非常忠誠的追隨者,他們發誓; 一旦你已經超越了學習曲線(網上有大量資源來幫助解決這個問題),它確實是一個非常強大的系統。 您可以將emacs自定義為整個IDE,並且周圍有人聲稱他們花費了大部分時間。

這兩個編輯器都可以在文本模式或GUI中工作,並且具有高度可移植性,可在各種平台上運行。 它們都是開源的。

我用過兩者; 我曾經在20世紀90年代使用過XEmacs (emacs的主要代碼 - 可以追溯到幾年前)但后來又去了vim。 我甚至在Windows上使用vim。

如果您發現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的解釋器提供了這個作為腳本選項,但是我並沒有特別注意到這一點。

emacs是免費的,有自己的嵌入式lisp方言,可用於編寫幾乎任何東西,包括輕腳本以及郵件用戶代理和IRC客戶端;-)

有一點學習曲線,但我對emacs的經驗非常積極。 我不太喜歡模態接口,沒有其他編輯器將導航快捷鍵放在你的手指下。

我使用jEdit ,這是一個很棒的編輯器,允許使用beanshell編寫腳本。 由於它是用Java編寫的,因此它在Windows和Linux下運行良好。

Simon Groenewolt提到,存在一個插件( JavascriptShell ),它允許您在Javascript中編寫宏和腳本,而不僅僅是在Beanshell中。

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中的任何其他命令來逐行處理我的文件,如果你感興趣,可以回復更多關於它的內容,但這不需要編譯任何東西,按原樣工作。

編輯:如果你想要一個點擊式編輯器,你可以運行在gVim上的Cream http://cream.sourceforge.net/download.html我仍然認為vim需要很少的時間來習慣並且非常值得學習,更多考慮您可以使用您的基本vi知識通過SSH連接到服務器沒問題,並且它安裝在任何* nix中。 我喜歡我可以重復使用的知識,節省我的時間和長期的麻煩。

如果您不需要非常復雜的腳本,vim / gvim允許您錄制擊鍵序列並進行回放。 並且您可以重復計數播放,因此您可以在一行上錄制操作,然后一步重復下一行10,000行。

哇,我真的不想在這里開始一場神聖的戰爭,但所有這些Emacs的建議都有點遺漏了這一點。 Emacs非常強大,但說實話。 它沒有像學習WALL那樣的學習曲線。 從像UltraEdit這樣的點擊式IDE樣式編輯器開始將是一個巨大的文化沖擊。

說實話,當有人說他們喜歡用javascript編寫腳本,並且正在尋找類似Linux的東西時,你首先要說的是“學習LISP”

這就是人們認為Linux難以使用的原因


我將完全朝另一個方向走,並建議Aptana Studio

它具有針對各種語言的內置突出顯示和代碼完成功能,並支持使用Eclipse Monkey在javascript中編寫腳本。 它基於Eclipse,因此可以在java上運行,因此可以在多平台上運行。 它是免費提供的。

這有點陳詞濫調,但是emacs。 或者我誤解了UE的腳本引擎是什么?

試試Emacs,XEmacs或GNU Emacs。

我用gedit。 你可以用Python編寫插件。

Komodo Edit是在Mozilla的XUL Runner之上制作的。 它提供了通過擴展(如Firefox)或宏,片段,命令擴展它的可能性。 您可以使用JavaScript或Python編寫這些片段,這很不錯,但您仍然必須知道API才能執行有用的操作。

使用Mozilla技術構建它也可以在Linux上運行。

看起來像Komodo EditSciTEEclipse Monkey是贏家。 Komodo Edit似乎與Ultra Edit最相似。 SciTE是我以前用過的東西,Lua並不那么難; 雖然SciTE的API看起來並不像Komodo Edit的API那么廣泛。 Eclipse Monkey是我肯定會使用的東西,但它需要Eclipse,它絕對不是文本編輯器。

編輯:UltraEdit即將推出適用於Mac和Linux的版本。

在Linux中進行腳本化文本編輯的傳統方法是使用(幾乎)始終在* nixes中提供的工具:sed,awk,grep,這種性質的東西。 當然,它們可能看起來並不像人們可能找到一個集成的Javascript引擎那樣“方便”,但它們非常成熟並且運行良好。 如果這個腳本語言必須在編輯器中,那么Emacs在這里也可能是一個很好的。

您可以使用“集成”類型解決方案來解決問題,正如許多其他人所提到的那樣,但恕我直言,命令行在這方面更加強大。

SciTE可以用Lua編寫腳本,是一個很好的,簡單的編輯器,如果你每天在Linux和Windows之間切換,它的行為方式大致相同。

我不知道您在編輯器中使用的腳本功能是什么,但您可能需要考慮使用Linux命令行工具(如sedawk)自動執行這些任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM