Notepad++ is definitely worth a look if you're looking for an easy to use GUI programming editor. Lots of nice features. If you love Vim, you will probably hate it, but if you don't try it you'll never know.
"Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License."
It's a Windows editor, but also works OK in Linux too when run with Wine. For Linux users here how to install and run it.
(Obviously, you need to have Wine installed first.)
Download the latest version of Notepad++ (Currently npp.6.6.9.installer.exe)
You need to move the installer to your .wine/drive_c directory. In a terminal:
mv /home/username/Downloads/npp.6.6.9.installer.exe /home/username/.wine/drive_c
Running the following command in a terminal will start the Notepad++ installer as if it was in Windows:
With Notepad++ now installed, you can run it from the terminal using the following command:
wine c:\program\ files\Notepad++\notepad++.exe
There is also a native linux version. No need for wine - notepadqq
I've tried both, going for the native Linux first, as that's where the bulk of my work is these days. While Notepadqq is similar, in initial appearance, it is not the same. Of the two, I found Notepad++ to be the stronger. However, it is always a good idea to come up with alternatives.
I my particular case, I have clients on both Windows and Linux. It's a convenient tool in terms of familiarity.
I can't live without Sublime Text any more. I came across it when looking for an alternative to Notepad2 for OSX. It's cross-platform for OSX, Linux and Windows.
One of the most frequently-used features for me is ctrl+shift+L, which puts a cursor on all of the highlighted lines. Added to the ability to switch between text and regex find & replace and string manipulation becomes a doddle.
For programming languages it's the middle ground between a text editor and an IDE. Indent with a key combo, close a tag with another... of the text editors that I've used it's the most feature-rich and without being complicated to use. Ctrl+shift+P will give you commands in plain English.
For large files, however, there's just no competition for Vi(m). Try editing a 4GB SQL file in a GUI text editor.
Probably the better choice for Windows. For Linux there are so many choices that provide the same though.
@Geoff why exactly is it that you cannot use Sublime Text, Atom or Brackets instead? Np++ is actually a pretty terrible editor even on windows. I honestly would not even try to force it on linux.
Off-topic, but could someone explain why Vim (and generally editing text with terminal applications) is so revered? So far I know of two acceptable situations: servers, large files. I refuse to believe that it's actually productive and fast.
Like Emacs its very productive and fast to use. And like any new price of software there's a learning curve. Vim and emacs are generally great editors. They support all the usual things you'd get in an ide with the additional benefit of never having to lift your fingers off the keyboard and also being very configurable with their plugin architecture so you only need to have what you need.
That way editing a c++ program will give you all the c++ tools and plugins but switch to a python file and you get all the python tools, everything you dont need doesn't show.
+1 to what Eden said. Vim has a very steep learning curve but the amount of control and efficiency someone has that knows how to use it without even lifting his fingers from the keyboard is outstanding.
Can't say I've heard of Sublime, but it's been mentioned a couple of times in this topic. I'm always open to good recommendations, so I'll definitely take a look. Thanks.
Vi is the only text editor that is installed on all versions of Linux and (I believe) Unix.
Also, due to the way that it's coded, it can open huge text files (like the aforementioned several-GB SQL files) in an exceptionally short amount of time.
As previously mentioned by others, Vi has a steep learning curve, primarily because it's in the Terminal. It's exceptionally powerful though and is for the old-schoolers and power users. My knowledge of it barely touches the tip of the iceberg; I just use find & replace.
If you fancy learning Vi(m) lookup a Vi cheat sheet and dedicate editing text files to only that.
To clarify my use of Vi(m), Vim stands for Vi Improved. Vi and Vim are very similar. You'd need to ask someone else about the differences though as I'm a novice.
In regards to Sublime Text you'll see it come up a lot in developer resources. Once you go Sublime you'll never look back (unless you get stuck into Vi(m) then... maybe).
Yeah, maybe I'll have to start learning since I recently got a server and I think I have quite a bit of terminal-only editing ahead of me. So far I've been using Nano, since I actually manage to save and close with that, unlike with vi.
To save in Vi(m) press Esc after editing to come out of insert mode then type a colon. You should see a colon come up at the bottom of the Terminal. From there, w will save, wq will save and quit, q to quit (with a prompt if you haven't saved) or q! to quit without saving (without a prompt) - then press enter/return.
Well ... if you are an IT professional, it is really important to learn how to use Vim/Vi because that will be the only editor you get when trying to revive a highly important server at 4 AM in the morning.
But I don't see it as a practical tool for development.
Is not easy to avoid Vim on servers, but in the main, most of my work is maintenance of existing applications. I do minor admin stuff for some clients, but I'm not in the same league as Zoltan.
As for working outside office hours and all that corporate crap of living for the job, I've long since left that world behind. It's all comfy routine stuff.
Notepad++ is actually poor text editor compared others on the market. Vim and emacs for example. Though i dont even consider emacs as text editor. Its operating system.
Notepad++ is "nice enough." It's certainly better than most things you can get (for free) on windows (a problem that does not exist on linux). But it's still a plain text editor, with limited programming features.
If you want actual editing software (and don't want vim), look at Komodo. Komodo Edit is free (speech + beer) and cross-platform (linux+mac+windows). It's very nice. The full version, Komodo IDE, is even nicer still, but fairly expensive… but it goes on sale once in a while, and is totally worth it if you do this professionally.
Komodo is another editor I've never heard of, but I'm always open to recommendations. I had a quick look at the prices. The team pack is really expensive, I've bought cars for less!
I see they have a 21 day full working eval copy of the IDE version. You could load up a second copy of your particular favourite Linux in virtualbox, install the eval in there and take a snapshot of the whole thing. When the 21 days is up, reload the snapshot for another 21 days and so on. As long as you save your work onto a shared directory or USB drive, it should be OK. Though not for Komodo.
I do use Vim for editing conf files, but I've never really used it often enough to remember all those key combinations.
Well, like I said, the full IDE is fairly expensive. But I have never regretted purchasing it. (Also note the "personal" license.) It's the "Edit" version I recommend to people; it's very nicely-featured and completely free.