I'm looking for a text editor for programming in Python, preferably one which is easy to learn for beginners.
closed as primarily opinion-based by Seth♦, Braiam, Mahesh, mikewhatever, blade19899 Jan 13 '14 at 20:41
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
Geany is a lightweight IDE that supports python.
Some features that I have found particularly useful include:
- Syntax highlighting
- Automatic indenting - especially useful for python
- Code folding, allowing you to hide parts of your code
- Inbuilt syntax checking and execution
- Symbol browser
- Embedded terminal
- Find and replace with regexp support
I think Vim is amazing!
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Although Vim was originally released for the Amiga, Vim has since been developed to be cross-platform, supporting many other platforms. It is the most popular editor amongst Linux Journal readers.
Vim is free and open source software and is released under a license which includes some charityware clauses, encouraging users who enjoy the software to consider donating to children in Uganda. The license is compatible with the GNU General Public License.
I really have to add Sublime Text 2 to the list because it's simply amazing. It's the best TextMate alternative for Linux.
It has way too many features to write the all here, but to name just a few:
- a sidebar for projects or files and Chrome-style tabs as well as multi-pane editing which includes horizontal, vertical and even a quad pane mode
- "Goto Anything": press Ctrl+P and type something - this will search in both filenames and lines of code across currently open files as well as recently close files. Start your search by using "#" to go to that word line, "@" for symbol or ":" for line
- minimap which shows you an an overview of your files
- macros, various find tools (find in files, find in open files, incremental find), easily switch between project, multiple selection, autocomplete and lots more.
For a simple but powerful text editor I like SciTE. It has a great many language options and is cross-platform. Notepad++ was developed from the SciTE codebase, so it's a good start point if you're migrating from Windows / Notepad++.
Why don't you use eclipse?.. There is an python extension for eclipse.
Check this url: http://pydev.org/manual_101_install.html
one of the classic text-editors, cross-platform, and a fan favorite of programming gurus. A slight learning curve, but once you catch on, and see how powerful it can be you'll never turn back.
There's a bunch of plugins available that'll have you setup in a full-fledged Rails IDE in no time: CLICK HERE
Found it advertised on StackOverflow. Open source, cross-platform, looks/feels/works like TextMate. It even supports TextMate bundles, and comes with TextMate themes! It has a project file browser, and a bunch of other features. Read the installation instructions and then:
sudo gem install redcar redcar install
NOTE: it's under development
Go with Emacs, it has a solid Python mode. You don't need anything too fancy anyway. Instead of using a class browser, it helps to use a web browser or to read through the manual for whatever modules you're using.
If you want to familiarize yourself with the Command Line interface (CLI) in the terminal, I would suggest Nano. It is a very flexible and further more it is already pre-installed in the GNOME terminal.
To access Nano:
- Bring up the GNOME terminal.
- Type nano in the terminal.
- Voila, you are in nano!
It is rather daunting at first but it is useful if you are a system administrator and it will useful in situation where the is no graphical interfaces.
Scribes is designed to make you more productive Simple, slim and sleek, yet powerful.
- Extensible via Python plugins
- Remote editing (ftp, sftp, ssh, samba, webdav, webdavs)
- Snippets! Watch the flash demo.
- Automatic word completion
- Automatic correction and replacement
- Automatic pair character completion and smart insertion
- Automatic indentation
- Powerful text processing and manipulation functions
- Bookmarks and smart navigation
- Document Switcher
- Syntax colors for over 30 languages
- and much more...
sudo apt-get install scribes
Or The latest version of Scribes can be installed using the following official PPA: -
sudo add-apt-repository ppa:mystilleef/scribes-daily sudo apt-get update && sudo apt-get install scribes
I use Gedit with Gmate plugin. It's lightweight and fast solution. I think it enables you to use much of the TextMate's features.
Just download source and run install.sh script.
Try Geany. It has built in support for Ruby and has the features you want. It is designed to have the features of an IDE while remaining lightweight.
Geany is a small and lightweight Integrated Development Environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME - Geany only requires the GTK2 runtime libraries.
To install it, including the project functionality you want, install the
gEdit all the way.
It's one of the few editors that actually works with remote locations. No other editor I know supports ssh locations defined as Nautilus bookmarks.
It blends in to your desktop nicely. All these crossplatform editors are XUL or Java based and often have horrible font rendering.
It has a file pane at the left (press F9)
It has syntax support for all ruby files
It supports the most common keyboard shortcuts. The ones you are already expecting to work.
There are plugins out there for code-completition.
There are plugins out there for revision-control. (at least Bazaar, i'm not sure about git)
There is a console plugin. But I usually just open a terminal on another desktop, and have focus follow the mouse. You could also look into stuff like quake. (which ties a dropdown terminal to the ~ key, like in Quake)
You can connect short-cuts to custom shell scripts, that operate in the 'main' directory. Perfect for common rake tasks.
PS. If you don't need or want a file pane, you should take a look at Scribes. It's a textmate clone. Pretty much. Very lean, but it does integrate nicely. Supports remote locations, code templates, syntax highlighting. It's only funny quirck is that it saves as you type and it does not have a proper file-pane.
It was originally written as an IDE for writing C# (which it is fantastic for) but extensions have been created to extend the editor for other languages.
Extension languages include:
It's also rumored that a PHP module is being worked on.
Personally, I have used it mostly for C# and some python development (I really wish the devs would get to work on the python autocomplete fefature).
It also has the ability to integrate plugins for database management, source control, unit testing, etc...
While not a very 'light weight' option, it's definitely worth using.
All the above are great editors. I recently found this new light IDE and it is cross-platform compatible as well.
The PHP Storm, contains support for all the languages. Also, the beauty of this editor is that, if you are a student. You can apply for this IDE for free and not just for yourself but for unlimited users for one-year. Also, like Visual Studio it has that intellisense feature, where you get the properties and methods in the drop down.
I am really having a lot of fun using this editor.
I can suggest you Komodo Edit. You can find it here: http://www.activestate.com/komodo-edit
Emacs is a great text editor (plus a lot of other functions) that will serve you well in the long term. It does have a somewhat steep learning curve, but I think you will be well rewarded. Install it with:
sudo apt-get install emacs
I would start with the builtin emacs tutorial. It should be easily accessible from the default "buffer" that opens. It will get you started and well on your way.
I would highly recommend the successor to Sublime Text 2, Sublime Text 3. It is very fast and has support for keyboard shortcuts. You can install lot of plugins to add new functionalities.
Sadly sublime text is not opensource, and paid/nagware. However, there is an opensource project attempting to displace it Lime Text
DrPython is a python specific IDE written in python and I believe you can even extend it in python. Features include:
- Syntax highlighting
- A class browser
- Integrated python debugger
Don't hate me for what I gonna said: netbeans 6.9. (download the "ruby version" to avoid other unnesesary stuff to load..)
yes, you gonna said: but it needs java!! but, if you have +512mb, just try it, and tell me later, it's just an option more :P
It's useful if you already have Eclipse installed and you want to work on Ruby.
It has all the features you asked for and more (intellisense for example)
Once you grok the Eclipse interface you can be productive in a wide variety of programming languages and technologies
Eclipse is resource hungry - not for low memory machines.
The user interface has a learning curve if you are not familiar with Eclipse.
From the website:
Bluefish is a powerful editor targeted towards programmers and webdesigners, with many options to write websites, scripts and programming code. Bluefish supports many programming and markup languages, and it focuses on editing dynamic and interactive websites.
Also, Scribes (which looks a lot like Mac OS X's Textmate).
I also suggest Gedit. Check out gedit-mate for a great "set of plugins, tools, color schemes and snippets that will improve your work."
I suggest using jedit. It is one of the few editors that let you display more than one file simultaneously which I find very useful. You can also simultaneously display different parts of the same file. The only other editor that does this is kate but it doesn't seem to work with the more recent versions of ubuntu.