General Editors/IDE Discussion
-
Let me start off and say this, "I am vi/vim bigot." I don't want
to get into a flame war. I'm just interested in a general
discussion about what makes a good development environment.
I work on a lot of different machines in a lot of different ways.
I work on windows and on several flavors of unix. Sometimes I'm
at a graphical terminal but at other times I need to work from the
command line. I frequently work on a machine for a short
time. Sometimes I'm connected remotely through a moderately slow
VPN connection. I work in several languages.
I like vim because it is powerful, lightweight, universal, and
efficient. I can run it in a text window or as a gui
application. It is efficient at drawing the screen and responsive
to my keystrokes even over a remote connection. It is small
enough that I can install it on a machine if it isn't there
already. It works well with several languages. Its command
set is portable to other tools - I can work out a sequence of steps and
then easily set up those steps in sed. There are other vi based
editors that I can use if vim isn't available. I've used both
Lemmy and Vile at various times.
From time to time I've given other editors a try. Here are some of my reasons for not choosing them...
Emacs: I've tried to use emacs now and again. I've never
stuck with it long enough to really get the hang of it though. If
I need to install it, the install is usually longer and more complex
than that of vim. The windows versions seem rougher than the
windows version of vim. It is definitely more resource intensive
than vim.
Various IDEs: I currently do most of my coding in Java, so this
applies more to the Java IDEs than any others. First of all, the
IDEs are all big and heavyweight. It is not an option to install
on a machine where I'm only going to be working for half a day. I
can't really use them in text mode, and sometimes I can't use them
remotely. The text editors built in never seem as functional or
powerful. The autocomplete methods distract me more than they
help. When I switch off to another language they are far less
useful. If I sat at the same workstation every day and did the
same kind of tasks, I might be able to invest enough in learning the
advanced features of an IDE to be worthwhile. But that doesn't
fit my current job.
Notepad: Please just shoot me.
EVE: When I used to work on VMS I prefered EVE to EDT.
However, I didn't like it. I eventually found a vi clone VILE
that ran on the particular version of VMS I was using and installed
that.
Norton Editor: I used to use NE around 1990. Microsoft had
a small c compiler available, and with judicious use of lzexe I was
able to get an entire development environment on one floppy.
WordStar: I cut my teeth with a copy of K&R, Lattice C, and
WSN (WordStar Non-document mode) on a 4.77MHz PC XT with a 20 MB hard
drive.
Generally today I develop from the command line. I'll open
several vim windows, one for my ant/make script and others for
source. I'll also open my browser to the relevant documentation,
which I've downloaded to my pc to support both speed and offline access.
-
I think vi/vim will be gone after a generation. Don't get me wrong, it's a very powerful editor, but to weild it one must know a myriad of Ctrl-Z, Plus, Shift-A, Shift-A type commands. Back when there were no GUI or mouses [1], you really had no choice but to learn these commands. Now something like TextPad or UltraEdit are just as powerful but offer both standardized (Alt-E, F) and custmizable command shortcuts.
I never got into vi/vim. I was shunned by Unix people because, well, those guys are pricks to young kids who want to learn. The editor I have no is EditPlus, but it certanily isn't the best -- it's just I paid for a licence, and have kinda stuck with it since.
I prefer the IDE for the more "long term" development myself, but for more "short term" type things, I stick with one of those Windows variety editors (EditPlus, TextPad, UltraEdit, etc) -- they do FTP saving and loading, hilite text well, and offer regex searching. And a whole bunch of other rarely used (but helpful) features, like Column Copying/Pasting, etc.
[1] I heard somehwere that mouses is correct when refering to peripherals. It's probably something that some one made up so that people would look silly though. Hence the footnote.
-
@Alex Papadimoulis said:
I think vi/vim will be gone after a
generation. Don't get me wrong, it's a very powerful editor, but to
weild it one must know a myriad of Ctrl-Z, Plus, Shift-A, Shift-A type
commands. Back when there were no GUI or mouses [1], you really had no
choice but to learn these commands. Now something like TextPad or
UltraEdit are just as powerful but offer both standardized (Alt-E, F)
and custmizable command shortcuts.
Why, it's a matter of personal preference, but I find it much easier to
program when I don't have to reach for the mouse every few seconds.
I don't know about Vim, but Emacs has been designed by a guy who
already had 25 years or so experience in the field at the time he did
it. I guess he knows best.
As for the matter with the standards, Unix programs usually follow
the Emacs conventions, at least for the basic commands. Therefore
annoying Vi users, but it is a de facto standard, so....
-
I've fallen in love with Editplus, because of its direct-FTP, and
language-specific colouring: I've coloured PHP more blueish, Jscript
more black+green, funky languages like Python and Perl get a greyish
green scheme. HTML is dark blue and orange and red. :3
I've even added an SQL stx file, which I easily expand as I learn more about SQL.
A major drawback of Editplus so far is that the colours don't seem to
be saved in a file, meaning I have to set them up again if I upgrade
it. I hope I'm wrong. I can't live without proper colouring.
I've tried Editpad, but it's just clunky suck, and ASP in it defaults to VB colouring with no apparent way of changing that.
I may try Ultraedit, since I've seen it has expanded much.
JEdit may be good in some sense, but it's one of those editors with
global syntax colours, which I hate, and it's soooooo sloooooowwwwww.
An intern here uses Vim, and he's completely wild about it. He's a 1337 H4X0r.
I find it much easier to program when I don't have to reach for the mouse every few seconds.
Nobody does. And you don't have to. You can easily navigate text using control-combinations of cursor keys and pageup/down home/end, and setting up control keys for functions like duplicating a line is very useful.
It also helps if your client puts the cursor on the start of the statement when pressing Home, instead of the start of the line, seeing as how most statements have preceding tabs.
-
@dhromed said:
An intern here uses Vim, and he's completely wild about it. He's a 1337 H4X0r.
Funny. One would expect l33t h4x0rs to use Notepad, just to prove their sk1llz :D (sheesh, this script is awful to write).
I find it much easier to program when I don't have to reach for the mouse every few seconds.
@dhromed said:
Nobody does. And you don't have to. You can easily navigate text using
control-combinations of cursor keys and pageup/down home/end, and
setting up control keys for functions like duplicating a line is very
useful.
It also helps if your client puts the cursor on the start of the
statement when pressing Home, instead of the start of the line, seeing
as how most statements have preceding tabs.
Obviously, the recent Windows editors are smarter than the ones I
remember. But it's too late - now I'm used to Emacs, which, by the way,
has keys for all these commands and (n.b.) many others configured by
default.
-
@dhromed said:
You can easily navigate text using
control-combinations of cursor keys and pageup/down home/end, and
setting up control keys for functions like duplicating a line is very
useful.
It also helps if your client puts the cursor on the start of the
statement when pressing Home, instead of the start of the line, seeing
as how most statements have preceding tabs.
Sometimes you land somewhere with your cursor in vim, and you can't remember wich operation got you there...
duplicating a line must be one of the easiest things to do in vim.
in normal mode the y key "yanks" text to a register (there are alot) and p pastes it (to the right side of the cursor).
yy would yank the whole line, Y would also.
everything in vim is an object (inherited from the "ed" editor) so you could 22y yank 22 lines
because yy or Y also yanks the end of line, p pastes it. Yp or yyp duplicates a line.
p pastes on the line below, P pastes above. (doesnt matter in this example)
this shows how versatile vim is. It's very easy to learn and a great
deal faster then notepad (hehe) when you start using things like this.
Vim 7 when released will include omni-completion (intellisense is licensed) and spell checking
-
The single best thing about Vim is that it's programmable.
I'm continuously developing my ultimate editor while using vim. If I have the need for a new editing feature (for example, "rewrite string constant" -- or, replace all text between quotes), I build a small script/key sequence for it, and bind it to a short keycombo, and presto: instant feature! My editor steadily becomes more powerful as I continue adding these scripts.
I have a sizeable .vimrc script that makes vim do exactly what I want it to, and it is still pretty small and available on any platform. I can't get that from any other editor.
Not to mention never having to take my hands off the keyboard... mmmm....
(Needless to say, I'm very much in love with vim [:)])
-
-
@RiX0R said:
I'm very much in love with vim [:)]
I'm feeling a bit sick
As a fellow ViM enthusiast I must express my regret that you feel physically ill at the thought of using the best text editor, nay!, the best IDE that has ever existed.
-
is it with huge amounts of necrophilia lately?
-
Was notepad++ not around back then?
-
-
-
-
Eclipse?
Firefox WebIDE?
-
cat
-
Why is there no love for edit ?
-
-
Any from 2005 onwards
with or without resharper?
because honestly 2005 and 2008 were rather poo without resharper.
2012 was pretty nice on its own, but i'd still run it with resharper. 2013 can just about stand on its own and 2015 is actually pretty slick.
-
because honestly 2005 and 2008 were rather poo without resharper.
True, but they were still better than most stuff out there at the time.The other thing you want is built-in NuGet, which IIRC was first bundled with 2012.
...
Any from
20052012 onwards
FTFM
-
As a fellow ViM enthusiast I must express my regret that you feel physically ill at the thought of using the best text editor, nay!, the best IDE that has ever existed.
Sublime Text is programmable in Python.VimBasic is cryptic shit and as any other BASIC out there, with too much arbitrary duct tape. VimPython makes vim heavyweight and slow (because it's running the interpreter on the side, and must use message-passing instead of exposing its internal structures).
Also, modal editors are a pain in the ass. You may say all you want about staying in the alphanumeric part of your keyboard being the best thing since sliced bread, but I think people that invented the arrow block were not all stupid, and it's an issue of what you're used to. True, 80's terminal keyboards did not have arrow keys, the only commodity being Ctrl and Esc, but I'm meddling with computers for almost two decades and yet have to touch a working one. They might be of interest as a museum pieces; I doubt they are seriously used anywhere (you can make a kickass serial terminal emulator with a Raspberry Pi in an evening if you need to interface with some old iron, and it's a perfectly reproducible solution).
Yes, I'm thoroughly spoiled by IBM CUA.
-
Sublime Text is programmable in Python.
it also requires a GUI
ViM doesn't. you can run gViM if you want, but if X isn't around that's NBD
VimBasic is cryptic shit and as any other BASIC out there, with too much arbitrary duct tape.
maybe, but it works, it works well and it works fastyeah if you're fiddling with it it can be painful, but once it works it stays working.
Also, modal editors are a pain in the ass.
oh how little you know. they are belgiuming amazing! you need to throw away your reliance on the mouse and bucky bits and learn the true beauty that is the modal editor experience!Come to the darks side of editors, not only do we have cookies but we have a better editor experience than any other editor out there, if you are but willing to unlearn all the lies you have heard about modal editors.
-
-
amazing
beauty
better
I can't even figure out how you managed to make all those typos
-
ViM doesn't. you can run gViM if you want, but if X isn't around that's NBD
shrugs Most of the time a GUI is available. Guess if a solution works 99% of the time, it's good enough. With mechanisms such as SSHFS it works, like, 99.6% of the time. For the rest, I have nano or mcedit.maybe, but it works, it works well and it works fast
Here's a problem: I need to learn a fucking new programming language just to be able to make the fucking editor do what I want it to do. I'd rather use those neurons for, I don't know, the fucking domain of the problem I need to solve, maybe.yeah if you're fiddling with it it can be painful, but once it works it stays working.
oh how little you know. they are belgiuming amazing! you need to throw away your reliance on the mouse and bucky bits and learn the true beauty that is the modal editor experience!
I would tell you to go belgium yourself, but you're using Vim already. ;-)
-
Most of the time a GUI is availabl
most of the time? you do all your work locally? never any remotely?
well that's odd... not unheard of, but still only one time out of 1000 is pretty low for failing to have X available....
With mechanisms such as SSHFS it works
ah.you mean SSHFS which is slower than straigh SSH and ViM due to the increased bandwidth requirements, can unexpectedly hang up on you if you are on even the slightest bit dodgy connection, and does not play nicely with multiple concurrent requests for data?
Oh and requires you to pull all the data locally to work on it do if you are greping through a large file means you need the whole file local rather than just the parts that match...
well, if you like being inefficient i guess....
Here's a problem: I need to learn a fucking new programming language just to be able to make the fucking editor do what I want it to do. I'd rather use those neurons for, I don't know, the fucking domain of the problem I need to solve, maybe.
.... Bakey, give WFT the keyboard back please.I would tell you to go ■■■■■■■ yourself, but you're using Vim already.
well, if you don't want to actually learn why the modal editor really is the best thing since sliced bread.... i guess that's your loss.
-
(Really, fuck Discourse. First it gives me Error 500, then it goes about saying I've already posted what I clearly haven't. I don't know how many sentences I should add to make it think it's different enough.)
I do almost all my editing locally. I have tools like rsync to deploy and test if I ever need to do that remotely; most of the time, though, I'm perfectly able to run, test and debug locally, too. Maybe it helps that I use a sort of Unix on my workstation (either Linux or OS X), have almost identical tools (differences being mostly that it's OS X locally and Linux remotely), and don't need to fuck around much about platform differences, eh?
Development straight on a production machine? Gimme a break. Those don't even have a compiler installed most of the time.
For things like config editing, there is a CUA-compliant mcedit, and there is modeless nano.
Also, I know enough Vim to perform simple-to-moderate edits if I need to, but it doesn't mean I enjoy it.
-
@apapadimoulis said in General Editors/IDE Discussion:
I think vi/vim will be gone after a generation.
10 years later, people are still using vim. How long is a generation anyway?
-
@antiquarian Not only that, modern IDEs use it!
-
ViM forever!
-
@antiquarian said in General Editors/IDE Discussion:
How long is a generation anyway?
Usually about 25 years.
-
@accalia said in General Editors/IDE Discussion:
unexpectedly hang up on you if you are on even the slightest bit dodgy connection,
Never experienced that with SSHFS. You might want to play around with the mount options. NFS, however, can be a huge asshole in those situations and should therefore die a horrible death.
-
Why do people always have to aim for the "best"?
- Total Commander's file Lister is good enough to quickly peak at a file.
- I use Vim for basic file viewing and editing, local or remote.
- Notepad++ is good as a quick scratch buffer or for its Find in Directory functionality, and its XMLTools plugin has the best nested XML commenting behavior I've ever seen.
- Sublime does quick code navigating like no other — no need to install or configure all kinds of indexers like Ctags — , its multi-cursor implementation is one of the best around and it has a decent Vi clone plugin to go to town.
- If you're working with good old fashioned statically typed code, why not use an IDE which can check your code on the fly, has an integrated and visual debuger and keeps track of all your stuff? For that reason I use Eclipse and Visual Studio, and once more both have a decent Vi clone to keep one's modal editing urges under control.
-
@JBert said in General Editors/IDE Discussion:
Total Commander's file Lister is good enough to quickly peak at a file.
Am I doing this right?
-
@apapadimoulis said in General Editors/IDE Discussion:
I think vi/vim will be gone after a generation.
-
I use Emacs for things IDEs don't have good support for. This is because I learned Emacs before vi, back when accidentally hitting ESC twice put you in a world of hurt until you learned the key combination to return to normalcy.
Supposedly the mark of a true expert was to be able to type one's name and then figure out what the heck just happened.
-
@asdf said in General Editors/IDE Discussion:
Never experienced that with SSHFS. You might want to play around with the mount options. NFS, however, can be a huge asshole in those situations and should therefore die a horrible death.
Can confirm some editors are assholes when it comes to not-lightning-speed SSHFS. Sublime in particular. I'm suspecting it's the indexer having a fit.
-
@Onyx said in General Editors/IDE Discussion:
Can confirm some editors are assholes when it comes to not-lightning-speed SSHFS. Sublime in particular. I'm suspecting it's the indexer having a fit.
Hm, in that case, you have to work on a local copy and "deploy" via SSH via your editor, I guess. Or get a better IDE.
-
@JBert said in General Editors/IDE Discussion:
Sublime does quick code navigating like no other — no need to install or configure all kinds of indexers like Ctags — , its multi-cursor implementation is one of the best around and it has a decent Vi clone plugin to go to town.
Why would you want a vi plugin for Sublime Text?
This Maserati is a great car, and best of all you can replace the engine with one from a Pontiac Sunfire!
-
@hungrier said in General Editors/IDE Discussion:
Why would you want a vi plugin for Sublime Text?
This Maserati is a great car, and best of all you can replace the engine with one from a Pontiac Sunfire!
Maybe to have the best of both editing modes? Enable "insert mode" and you got Sublime's native editing, press Escape and you can use most Vi warts.
If you're going to do car analogies, compare it to preferring a car with the driving wheel on the right and manual shifting — it's a preference.
-
-
@asdf said in General Editors/IDE Discussion:
Never experienced that with SSHFS. You might want to play around with the mount options.
According to my notes, the key things are to remember to use
reconnect
in the mount options and to configure ssh so that it sets theServerAliveInterval
to something fairly short. Like that, problems get detected and worked around quite rapidly (or things fail, which is infinitely better than just hanging there forever because raisins).NFS, however, can be a huge asshole in those situations and should therefore die a horrible death.
No networked filesystem works well when the network doesn't work well. BTDT.
-
@antiquarian There are only 3 things every dev needs to know about vim.
1. Delete everything
gg dG
2. Enter text
i (paste text written in a better editor) ESC
3. Save
wq!
-
-
@dkf said in General Editors/IDE Discussion:
No networked filesystem works well when the network doesn't work well. BTDT.
this would be why the singular place where i use NFS is between two machines that have a patch cable going from one directly to the other and the NFS connection goes over that dedicated gigabit link.
i don't even trust NFS over my LAN and that's solid as a rock connection wise (i use CIFS over the LAN, although that's mostly because with the exception of the rasberries and the server all my machines are windows.
-
@accalia CIFS is the FS of choice if you're communicating with Windows. NFS works reasonably well when everything is Linux. AFS is pretty great, but requires you to get deeply into Kerberos, rather more than just running an AD domain…
All other networked filesystem options suck more, but might be all that you can get working in some cases.
-
I use Sublimetext 3 came from Dreamweaver with a mild pause in Eclipse. I like the way you can add packages to Sublimetext 3. but I am a web developer in GUI land. You don't sound like you come to the surface much :)
-
@dkf DropBox is like 56,000 times easier than all those options.
-
@accalia said in General Editors/IDE Discussion:
this would be why the singular place where i use NFS is between two machines that have a patch cable going from one directly to the other and the NFS connection goes over that dedicated gigabit link.
@dkf said in General Editors/IDE Discussion:
NFS works reasonably well when everything is Linux.
What problems are you guys having with NFS? I have never had an issue and for a couple of years we were running shared VHDs across NFS without so much as a hiccup.
@blakeyrat said in General Editors/IDE Discussion:
DropBox is like 56,000 times easier than all those options.
Anvils are even more simple, and only slightly less applicable to the conversation at hand.
-
@dkf said in General Editors/IDE Discussion:
According to my notes, the key things are to remember to use reconnect in the mount options and to configure ssh so that it sets the ServerAliveInterval to something fairly short.
Yep, that's what I remember as well. If you expect SSHFS to do exactly what you want without even looking at the man page first, you're TR.
@dkf said in General Editors/IDE Discussion:
No networked filesystem works well when the network doesn't work well.
True, but none except NFS has ever brought my system to a complete halt, so that I had to do a hard reset. NFS handles flaky connections particularly badly.
@Polygeekery said in General Editors/IDE Discussion:
What problems are you guys having with NFS? I have never had an issue and for a couple of years we were running shared VHDs across NFS without so much as a hiccup.
See above