Ask HN: Best cross-platform code editor?
15 points| DanielBMarkham | 15 years ago | reply
I need something that is able to handle multiple files, can highlight language syntax (to keep from typos). F# language syntax highlighting would be awesome, but that's probably too much to ask.
It'd be really cool if the editor would integrate with git and ftp and have a macro system -- great to use for blogging.
Any ideas? So far I can't find anything that meets all the criteria: the short list is Vim, Emacs, and JEdit.
I'm really not crazy about any of those -- looks like going back to 1980 for me -- but I'm interested in what the community thinks.
Any other editors I might be missing?
[+] [-] andrix|15 years ago|reply
[+] [-] ikitat|15 years ago|reply
[+] [-] apl|15 years ago|reply
[+] [-] Legion|15 years ago|reply
I was on the Eclipse wagon for a while. Where Gvim finally clicked with me was (1) when I discovered Pathogen for more easily installing plugins, (2) discovering NERDTree, and (3) when I finally got the idea to use something like github or even Dropbox for storing my .vim folder and my .vimrc/.gvimrc files, and just symlinking them into place on each machine.
[+] [-] dgulledge|15 years ago|reply
[+] [-] madhouse|15 years ago|reply
Using it since the autumn of 2000, never failed me, no matter what crazy thing I wanted it to do.
[+] [-] ScottBurson|15 years ago|reply
[+] [-] BerislavLopac|15 years ago|reply
[+] [-] mhb|15 years ago|reply
Creating Macros
Macros can be created by recording keystroke and command sequences, or written from scratch in JavaScript or Python using the Macro API.
[+] [-] Keith83|15 years ago|reply
[+] [-] wccrawford|15 years ago|reply
[+] [-] umenline|15 years ago|reply
[+] [-] mahmud|15 years ago|reply
[+] [-] davidw|15 years ago|reply
[+] [-] grobolom|15 years ago|reply
Vim and Emacs are great, but I would seriously consider a good IDE. The advantages of built-in project management is not to be underestimated. It's not something that's so ridiculously important later on, as you can obviously use something like git on its own to manage it, but initially it is fairly invaluable.
[+] [-] chipsy|15 years ago|reply
[+] [-] _b8r0|15 years ago|reply
Here's some F# highlighting for vim: http://www.vim.org/scripts/script.php?script_id=2162
Jedit is ok, but I found it quite slow compared to vim. My own personal favourite is vim (as you can probably tell) but Emacs has some interesting extras that make it worthwhile learning too (such as org-mode).
[+] [-] guinness|15 years ago|reply
I used to use vim and tried switching to emacs to see what it was about. On my first try I despised it. After my second, I fell in love and can't stand to use anything else anymore.
ps: Control-x-c is to quit ;-)
[+] [-] fnl|15 years ago|reply
[+] [-] dasil003|15 years ago|reply
The reason I went with vim is because I believe it is as close to an optimal editor for arbitrary code and text as you can get. My first impressions were that emacs was about power through customizability, and vi was about raw efficiency. Customization is important, but personally I prioritize powerful editing slightly higher because it makes it easier to jump into new languages, and is particularly useful with sysadmin duties. Being skilled with vim pays dividends with every single new language I learn and technology I deploy, most of which are not important enough for me to invest in editor customizations. Now for my bread and butter language (Ruby/Rails in my case), investing in customizations is worth it, but even so, I will probably never go down the full-blown IDE road (unless the IDE is built around vim as a first-class citizen).
Not that I don't think true IDEs can't beat vim/emacs in productivity. It's relatively easy to become more productive in specific environments such as Visual Studio or IntelliJ, however that productivity falls off a cliff as soon as you leave the comfort of a properly supported language. At the end of the day, the promise of extreme productivity in producing reams of Java code is little comfort if I will be clumsy jumping into a language like Haskell where reams of code aren't necessary; I just don't want my incentives weighted that way.
Now as to the cross-platform issue, this is one of the most important to me, in large part because of the large number of servers I find myself logging into. However it's not just the MacWinLin axis, but also the temporal axis as well. Vim and emacs aren't going anywhere. They are too well-designed, and have too much mindshare to go away. Short of massive advances in AI and/or raw thought-input no one is going to come up with a more efficient general purpose keyboard editing than these tried and true methods. That's not to say that IDEs or editors like TextMate aren't bringing new advances to the table, but the best ideas will always make their way back to vim/emacs or vice-versa.
The learning curve of vim is indeed steep, and becoming fluent in its rich command set is a life-long project. That's okay because it's one of the few technologies that you can be sure will still be in widespread use 50 years from now. The cost of learning is heavily amortized and the interest heavily compounded. Overall it's the surest technology choice I've made since jumping from svn to git.
[+] [-] phob|15 years ago|reply
Have you considered VIPER mode for emacs? I know it's not complete VI emulation but it's pretty close. If I was to start again (with no muscle memory built up) that is absolutely the way I would go.
[+] [-] aquilax|15 years ago|reply
[+] [-] tree_of_item|15 years ago|reply
[+] [-] manumental|15 years ago|reply
[+] [-] krosaen|15 years ago|reply
[+] [-] Mutabor|15 years ago|reply