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.


  • ♿ (Parody)

    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 [:)])


  • BINNED

    @RiX0R said:

    I'm very much in love with vim [:)]

    I'm feeling a bit sick


  • FoxDev

    @Luhmann said:

    @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.


  • BINNED

    :wtf: is it with huge amounts of necrophilia lately?



  • Was notepad++ not around back then?


  • FoxDev

    @accalia said:

    the best IDE that has ever existed

    Visual Studio? 🚎


  • BINNED

    @Onyx said:

    :wtf: is it with huge amounts of necrophilia lately?

    😇

    I just follow Discourse suggestions


  • FoxDev

    @RaceProUK said:

    @accalia said:
    the best IDE that has ever existed

    Visual Studio? 🚎

    which version?



  • Eclipse?
    Firefox WebIDE?


  • BINNED

    cat


  • BINNED

    Why is there no love for edit ?


  • FoxDev

    @accalia said:

    @RaceProUK said:
    Visual Studio? 🚎

    which version?

    Any from 2005 onwards


  • FoxDev

    @RaceProUK said:

    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.


  • FoxDev

    @accalia said:

    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.

    ...

    @RaceProUK said:

    Any from 20052012 onwards

    FTFM



  • @accalia said:

    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.


  • FoxDev

    @wft said:

    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

    @wft said:

    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 fast

    yeah if you're fiddling with it it can be painful, but once it works it stays working.

    @wft said:

    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.



  • @Luhmann said:

    I just follow Discourse suggestions

    I think we identified the root cause...



  • @accalia said:

    amazing

    @accalia said:

    beauty

    @accalia said:

    better

    I can't even figure out how you managed to make all those typos 🛂



  • @accalia said:

    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.

    @accalia said:

    maybe, but it works, it works well and it works fast

    yeah if you're fiddling with it it can be painful, but once it works it stays working.

    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.

    @accalia said:

    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. ;-)


  • FoxDev

    @wft said:

    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....

    @wft said:

    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....

    @wft said:

    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.

    @wft said:

    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.


  • BINNED

    @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?


  • BINNED

    @antiquarian Not only that, modern IDEs use it!

    0_1459260290417_upload-fc6952ae-ac65-41b7-9bac-4ea317d3aeef


  • Java Dev

    ViM forever!


  • Discourse touched me in a no-no place

    @antiquarian said in General Editors/IDE Discussion:

    How long is a generation anyway?

    Usually about 25 years.


  • Winner of the 2016 Presidential Election

    @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.


  • Fake News

    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.

    :giggity:

    Am I doing this right?



  • @apapadimoulis said in General Editors/IDE Discussion:

    I think vi/vim will be gone after a generation.


  • Garbage Person

    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.


  • BINNED

    @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.


  • Winner of the 2016 Presidential Election

    @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!


  • Fake News

    @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.


  • BINNED


  • Discourse touched me in a no-no place

    @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 the ServerAliveInterval 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!
    

  • BINNED

    @cartman82

    paste text written in a better editor

    You mean emacs? 🚎


  • FoxDev

    @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.


  • Discourse touched me in a no-no place

    @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.


  • Grade A Premium Asshole

    @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.


  • Winner of the 2016 Presidential Election

    @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:wtf:.

    @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


Log in to reply