Let me preface this question by saying I use TextMate on Mac OSX for my text needs and I am in love with it. Anything comparable on the Linux platform? I'll mostly use it for coding python/ruby.

Doing a google search yielded outdated answers.

Edit: Since there has been some concern about the 'merit' of this question. I am about to start a new Ruby Programming Project in Linux and before I got started I wanted to make sure I had the right tools to do the job.

Edit #2: I use VIM on a daily basis -- all . the . time. I enjoy using it. I was just looking for some alternatives.

+1  A: 


Bob G.
+20  A: 

Emacs is a wonderful text editor. It has huge power once you become a power user. You can access a shell, have as many files open as you want in as many sub-windows and an extremely powerful scripting support that lets you add all kinds of neat features.

I have been using a ruby-mode which adds syntax highlighting and whatnot to ruby, and the same exists for every major language.

If you keep at it, you can use exclusively the keyboard and never touch the mouse, which increases your editing speed by a significant margin.

If you want to start with something a lot more basic though, gedit is nice... it has built in syntax highlighting as well for most languages based on the filename extension. It comes with the OS as well (though emacs you can easily install with apt-get or some similar package finder utility).

UPDATE: I think gedit is exclusively GUI based though, so it would be useful to learn emacs in case you are stuck with just a shell (it is fully featured in both shell and graphical mode).

FURTHER UPDATE: Just FYI, I am not trying to push Emacs over Vim, it's just what I use, and it's a great editor (as I'm sure Vim is too). It is daunting at first (as I'm sure Vim is too), but the question was about text editors on Linux besides vi... Emacs seems the logical choice to me, but gedit is a great simple text editor with some nice features if that's all you are looking for.

Mike Stone
GEdit does not come with the OS; it is a GNOME project, and thus comes preinstalled with many distros that package GNOME. You're not going to see it come by default on any KDE/LXDE/Openbox/etc. distros, nor on build-it-yourself distros like Arch. FWIW, the KDE equivalent is Kate, which is imo nicer.
Xiong Chiamiov

What kind of questions should I not ask here?

Tabs versus Spaces. Emacs versus Vi.

+1  A: 

I'm not rousing debate about Emacs Vs. Vi. I'm saying I know I can use Vi as a text editor, what are my other choices?

Update: I haven't gotten the same responses. I got pointed to SciTe which I didn't know about along with gedit.

Hmm.. I think I know why you took this question personally.


It's the same question; you get the same responses. This site isn't to help you figure out what to eat for lunch, it's to help you out with programming problems.

+5  A: 

I use pico or nano as my "casual" text editor in Linux/Solaris/etc. It's easy to come to grips with, and whilst you lose a couple of rows of text to the menu, at least it's easy to see how to exit, etc.

You can even extend nano, I think, and add syntax highlighting.

Matthew Schinckel
+1  A: 

The best I've found is gedit unfortunately. Spend a few hours with it and you'll discover it's not so bad, with plugins and themes. You can use the command line to open documents in it.

Tim Trueman
+5  A: 

I use SciTE very small and simple text editor.


+1 for pico/nano -- lightweight, gets the job done, good help

+17  A: 

Kate, the KDE Advanced Text Editor is quite good. It has syntax highlighting, block selection mode, terminal/console, sessions, window splitting both horizontal and vertical etc.

Does Kate have FTP support?
I believe it has ftp support among other things using kio(kde's file acess abstraction) so you use ftp same as any local file,typing in a folder address of ftp://ftpadress gives you the same sort of file browsing as for local files).also supports ssh,possibly samba,and a few others
Roman A. Taycher
+3  A: 

On Mac OS X, I have used BBEdit since the early 1990's, so I use that as my reference for all other editors. I sometimes use BBEdit to edit files on a Linux box using ftp mode, and that works very well if you have a fast network connection to the Linux box.

I learned emacs two years ago because the rest of the programming team I joined uses it. I find emacs powerful but annoyingly old-fashioned in many ways, but once you have learned emacs, you can use it on any platform (Linux, OS X, Windows). This is the editor I use almost exclusively at work now. It is going to take me years to master all its features, though.

I have also used gedit on Linux and found it very usable, but I haven't tried to use it as my primary editor for any project.

I have a colleague at work who uses Komodo Edit 4.4 (free from, running it on a Windows computer but using it in ftp mode so she can edit files on our Linux server. Komodo Edit has many nice features, but it takes a looonnnggg time to launch the first time.

Conrad Halling

You can try Emacs with ruby-mode, Rinari (for Rails) and yasnippet which provides automatic snippets like Textmate.

Federico Builes
+1  A: 

When I searched for TextMate alternative for Linux, I ended up using Geany. It's not as powerfull, but still nice to work with. Great replacement for Kate.


I love TextMate on OSX.

There is a kind of TextMate clone for Windows called simply "E" ( Its author promised that there will be a Linux version soon. Even if you already picked your favourite, TextMate (or E) is worth a look, simply because it is different.

I would say that there are mainly four different families of text editors:

  • classic menubar-based editors like WinEdit, Gedit or BBEdit
  • Emacs and its brethren XEmacs, Aquamacs etc.
  • VI / Vim / Cream and the like
  • TextMate and E

You can differenciate between these families by their different paradigms of usage:

  • Classic editors rely mainly on a menubar and some Ctrl-key shortcuts.
  • Emacs-style editing uses highly sophisticated keyboard commands like C-x-s and even whole words to evoke commands.
  • VI is modebased and is operated by single-key commands or whole words.
  • TextMate is based on Snippets and classic shortcuts.

Emacs and TextMate are also easily extensible by user-created scripts in Lisp (Emacs) or any other command-line-language (TextMate). (Classic editors and VI are also extendable, but the effort is usually considerably bigger)

I would recommend that everyone tried at least one good example of each of these families (if possible) and find out what suits them best.

Based on this intro, TextMate seems quite interesting! But 48.75€ ($65 at current rate) seems rather steep a price for a text editor, especially as other editors, even powerful ones, are mostly free.

I agree with Mike, though I'm a Vim die-hard. I've been using GEdit quite frequently lately when I'm doing lightweight Ruby scripting. The standard editor (plus Ruby code snippets) is extremely usable and polished, and can provide a nice reprieve from full-strength, always-on programming editors.

+6  A: 

I like the versatility of jEdit (, its got a lot of plugins, crossplatform and has also stuff like block selection which I use all the time.

The downside is, because it is written in java, it is not the fastest one.

jEdit is great, you got +1. The downside you mentioned is irrelevant 99% of the times. A possible bigger downside might be the memory footprint. And the need for X forwarding when logged on remote hosts (the same is for all the GUI editors).
IMHO the memory footprint and the speed are closely related and result of written in java with swing. I normally use a different Editor (mostly SciTE) for opening larger files (>2MB). But for normal use, like editing of code, it really doesn't matter.

I love Vim but I'm finding myself using Gedit more often now, especially when I've more than one file open. Gedit has tabs that make it easy to switch between files. Or maybe Firefox has spoiled me into expecting tabs in everything.

Bruce Alderman

TextMate is a great editor, and there is a way to replicate some of the functionality in GEdit. Check the article out here: to modify GEdit to behave like TextMate.

Nate Smith
+1  A: 

I find Geany ( quite good.


Vim is a nice upgrade for Vi, offering decent features and a more usable set of keybindings and default behaviour. However, graphical versions like GVim, KVim and even Cream are extremely lacking in my opinion. I've been using Geany a lot lately, but it also has its shortcomings.

I just can't find something in the league of Programmers Notepad, Smultron or TextMate on Linux. A shame, since I want to live in an all open source cyberworld, I'm stuck hopping from one almost-right editor to another.

What specifically do you find lacking in the gui versions of `vim`? I'm curious as to what's preferable about the editors you consider ideal.
Specifically that you have to pick either proper and easy command mode support, or intuitive keyboard shortcuts that are consistent with the rest of the world. This may have changed in the past few years, however.
+1  A: 

I've just started using OSX. Free editors of note that I've discovered:

  • Komodo by ActiveState. No debugger or regex editor (although one comes with Python, i.e. in free version but perfectly usable.
  • ERIC, written in PyQT.
  • Eclipse with PyDev is my preferred option for editing Python on all platforms. Nice clean GUI, decent debugger. Good syntax parsing etc.
Eclipse has a clean GUI? Ahahahahaha.
Xiong Chiamiov
Yep, seems pretty good to me. Are you unable to describe what you don't like about it, have you not tried it?

Off topic!

Mark Renouf
+24  A: 
Scott Cowan
+1  A: 

I've used Emacs for 20 years. It's great and it works everywhere. I also have TextMate, which I use for some things on the Mac (HTML mode is great). If you want to do Ruby development, Netbeans supports Ruby and it also runs on all platforms.

I've seen some blogs, etc claiming that it's the best Ruby environment available.

+10  A: 

Try Scribes . It tries to be a TextMate replacement for Linux

I love the little flash demo they have in the 'Features' section of their site. Thanks for sharing :-)
I've never heard of this before, but it looks great!
Adam Mika
+1  A: 

Alternative text editors? Try Diakonos, "a Linux editor for the masses". The default keyboard mapping is as expected for cut, copy, paste, undo, open, save, etc.

+1  A: 

I use joe for simple (and not so simple) editing when I'm away from Eclipse.

It uses the classic Wordstar keybindings- although I've never used Wordstar, it's a selling point for many people.

It's easy, well-supported, light-weight and it has binaries available for everything.

joe shows help at the top of the window constantly. That clinches the deal for me.
+2  A: 

Friend of mine swears by jed,

+1  A: 

You could give bluefish a try. Has a bunch of nice features for website work. Syntax files for most every language.

If on widows give Crimson Editor a try It's been a long while since I ran windows, but iirc, 'official' development has stopped on it, but the community has taken up a fork of it and called it emerald or somesuch. Crimson editor is still very capable as is.

Both bluefish and crimson editor have project management abilities. FTP ablilities, macros etc etc


I personally use MacVim which is basically a GVim for Mac OSx. However I have been reading alot about Redcar, which is a text editor for Linux, which shares a lot of the Textmate functionality. Checkout the links below.

LURG Lecture on Redcar

+1  A: 

Don't forget NEdit! Small and light, but with syntax highlighting and macro record/replay.

+1, NEdit is my old favourite that I still use from time to time. Good things: starts quickly, small footprint, can easily handle *very* large text files that other editors would be choking on. Bad things: looks ugly out of the box on most distros, needs manual tweaking to get fonts etc. look nicer.

Best one besides Vi? Vim.


I love Kate because it has several interesting features (already cited) usually found in (heavier) IDEs. My favorite feature, however, is its terminal window that is very practical for quickly performing the save-compile-execute combo.

Nedit is another valid option, packed with lots of features (and it hasn't lots of dependencies: that's a huge plus IMHO).

For editing in a shell, when I cannot use VIM, I look immediately for pico or nano (but I would not recommend them for continuous development: for rapid editing they are perfect).

Gian Paolo Ghilardi

First I don't want to start a war..

I haven't used TextMate but I have used its Windows equivalent, e-TextEditor and I could understand why people love it.

I've also tried many text editors and IDEs in my quest in finding the perfect text editor on Linux. I've tried jEdit, vim, emacs (although I used to love when I was at uni) and various others.

On Linux I've settled with gEdit. Although I do use Komodo Edit from time to time. When I'm in a hurry I use gEdit purely because it is quicker than Komodo Edit. gEdit has plenty of plugins and comes with some nice colour schemes. I reckon once gEdit has a proper code-tidy facility it'll be cool. I think the only reason I use Komodo Edit is the project file facility.

I have a friend who donated his 'Vi Improved' book in the hope that he can convert me to Vim. The book is over an inch thick and completely put me off in investing time in learning Vim..

Everytime I find an editor - I always find myself going back to gEdit. It is a frills-in-the-right-places editor. Give gEdit a go, it is the default text editor in Ubuntu and Linux Mint.

Here is a link to an excellent guide on how to get gEdit to look and behave (somewhat) like TextMate:

Hope that helps.


If it's just you? Use what you want to use today; switch in mid-stream if you want.

Is it a team? Try to be editor-agnostic. Set standards for white-space (are tabs allowed? How many spaces does a tab represent?), but otherwise allow anyone to use whichever editor they want.

Is it a team doing pair-programming? That's where you may need a team-standard editor, just so that programmers can easily pass the keyboard.

To help implement a standard white-space policy in a shop where one or more coders is using Emacs: You can tell Emacs about your white-space policy with some comments stuck at the bottom of every file source file. For example,

# Local Variables:
# tab-width: 2
# ruby-indent-level: 2
# indent-tabs-mode: nil
# End:

Anyone using emacs (or xemacs) on that file will automatically get the group standard indentation.

Wayne Conrad