Vim Editor?

Started by
50 comments, last by Nypyren 9 years, 9 months ago

Well, you do have to install plugins for these features, but keep in mind that default vim is very lean.

I don't consider "leanness" a virtue in and of itself. In most Unix workflows, that works because of the composability of tools. However, an editor is an endpoint. You can't really pipe vim to anything useful.

vim is great when I need to work over a terminal, or when I need to make a small change and know exactly where it is. I can do all that before VS even loads. In practice though, I usually have my IDE open most of the day, so that cost diminishes to basically nothing.

The problem with vim is that the workflow doesn't really represent a programming workflow, at least not in any programming language I've ever seen. Sure, I can open a file, drop down to line 325, delete the next ten lines and then replace every instance of 'foo' with 'bar'. NONE of that is usually what I want to do. I don't care about line numbers unless I'm following a debugger or compiler errors, and VS lets me just jump to that line by clicking. I usually care about going to a certain method, and again VS has me covered in the solution explorer. vim? Uh... search until you find it? On the same token, VS has the amazing F12. vim? Search. Deleting blocks of lines? I guess it's okay in like 5% of my use cases, but the other 95% typically involve smaller-scale changes. I don't even need to bring up the huge penchant for off-by-one errors with 'y' and 'd' because of its weird counting scheme (i.e. d5<enter> deletes 6 lines).

It's VERY rare that actually want a global find/replace. Sometimes you want to do it in selection, and that's often typing stuff like replacing int with int32_t or something. When you're messing with identifiers, you almost never want to do raw text replacement. You want to refactor->rename. vim? No can do. It's "lean" out of the box.

I'll admit vim has some impressive plugins out there (YouCompleteMe immediately stands out), but they still don't even come remotely close to what VS offers. For writing code, nothing beats a good intellisense implementation, and VS has the best I've seen. However, it's reading code where IDEs start getting crazy. Go To Definition and View Call Hierarchy are absolutely critical.

Advertisement

Well, you do have to install plugins for these features, but keep in mind that default vim is very lean.

I don't consider "leanness" a virtue in and of itself. In most Unix workflows, that works because of the composability of tools. However, an editor is an endpoint. You can't really pipe vim to anything useful.

vim is great when I need to work over a terminal, or when I need to make a small change and know exactly where it is. I can do all that before VS even loads. In practice though, I usually have my IDE open most of the day, so that cost diminishes to basically nothing.

The problem with vim is that the workflow doesn't really represent a programming workflow, at least not in any programming language I've ever seen. Sure, I can open a file, drop down to line 325, delete the next ten lines and then replace every instance of 'foo' with 'bar'. NONE of that is usually what I want to do. I don't care about line numbers unless I'm following a debugger or compiler errors, and VS lets me just jump to that line by clicking. I usually care about going to a certain method, and again VS has me covered in the solution explorer. vim? Uh... search until you find it? On the same token, VS has the amazing F12. vim? Search. Deleting blocks of lines? I guess it's okay in like 5% of my use cases, but the other 95% typically involve smaller-scale changes. I don't even need to bring up the huge penchant for off-by-one errors with 'y' and 'd' because of its weird counting scheme (i.e. d5<enter> deletes 6 lines).

It's VERY rare that actually want a global find/replace. Sometimes you want to do it in selection, and that's often typing stuff like replacing int with int32_t or something. When you're messing with identifiers, you almost never want to do raw text replacement. You want to refactor->rename. vim? No can do. It's "lean" out of the box.

I'll admit vim has some impressive plugins out there (YouCompleteMe immediately stands out), but they still don't even come remotely close to what VS offers. For writing code, nothing beats a good intellisense implementation, and VS has the best I've seen. However, it's reading code where IDEs start getting crazy. Go To Definition and View Call Hierarchy are absolutely critical.

You don't get the point of vim at all, do you?

Those aren't the reasons why people recommend Vim. You can also jump to that line by clicking in vim, but the whole point is that it's faster to not move your hands from the home row. Vim also let's you jump to a certain method. Vim has lots of great small-scale change commands (the whole reason people use Vim is for it's fast editing). I don't know where you got the idea that you can't refactor / rename methods in vim. Vim also has a form of intellisense, albeit not as good as VS. There are plugins which are as good as VS though.

All the stuff you mentioned is possible in Vim, but it just takes a little bit more time to learn.

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

You don't get the point of vim at all, do you?

I know it might sound revolutionary but I'll drop it here anyway.

Why don't you make a kick-ass game using whatever tool you think is "superior" instead of trying to look like the cool kid on a forum just because you think using X is cooler than using Y, and that anybody who doesn't get how cool you are is "just not getting the point"?

Really mate, use whatever you want.. nobody cares... it doesn't seem like you have much to show at the moment. I'd be careful before bragging about "superior" tools and spend more time coding than on the forums.

Many professional devs answered the same way trying to point out the same things.. instead of trying to learn from people with more experience than you, you dismiss them (us) with "we don't get the point"? I understand you want to sell your stupid t-shirts. but that really doesn't make you look like a person really interested in learning something.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

You don't get the point of vim at all, do you?

I know it might sound revolutionary but I'll drop it here anyway.

Why don't you make a kick-ass game using whatever tool you think is "superior" instead of trying to look like the cool kid on a forum just because you think using X is cooler than using Y, and that anybody who doesn't get how cool you are is "just not getting the point"?

Really mate, use whatever you want.. nobody cares... it doesn't seem like you have much to show at the moment. I'd be careful before bragging about "superior" tools and spend more time coding than on the forums.

Many professional devs answered the same way trying to point out the same things.. instead of trying to learn from people with more experience than you, you dismiss them (us) with "we don't get the point"? I understand you want to sell your stupid t-shirts. but that really doesn't make you look like a person really interested in learning something.

This whole posts air of superiority is kind of sickening, but I'll bite. (And please don't say my comment had an air of superiority, because I had a real point. Vim is good for other reasons than the poster mentioned, and I was trying to point out that you have to look a little deeper before declaring that one editor is better than another).

I think I've made some pretty kick-ass stuff. Although I haven't focused on making games for a little over a year (I moved onto other stuff), I still like coming to this forum, because, believe it or not, I've been freelancing for a little over a year, and I make a decent amount of money from it.

Do you think this is a "learning thread"? It's not, really. What do you expect me to do? Say "Those people use VS, thus VS is the best. I will use it from now on." I used VS for a long time myself, and I think it's good for some things, but not very good for other things. Everyone's discussing their favorite editors, and I think it's a constructive discussion, but come on. I'll repeat it, I used Visual Studio Express for a little over two years while coding in C++, I then used PTVS (Python Tools for Visual Studio) for a couple months, switched to Sublime, and now I use Vim. I've used most of the editors people are mentioning, which is why I think I'm perfectly obliged to comment about which ones are better.

Anyway, on to the kick-ass stuff I've made (since I guess you feel like you're such a better developer than me. I'm totally just some kid, it's not like programming is my job or anything. Does it make you feel better about yourself to call other people you disagree with kids?):

I made DarkPython, which as a editor / debugger focused on improving programming education. The main challenge behind it was the debugger, which I implemented using BDB. It executes code line-by-line, highlights what line you're on / you're about to be on, displays the state of all variables as the program progresses, and helps you fix errors. The debugger had to be multithreaded, which led to some complications with subprocesses (this is actually why I decided to use BDB).

I'm one of the contributors on the massively popular 2048 game. I've also contributed to Gspread and some other open source projects. I single-handedly created FlappyKivy (in eight hours) to show off the Kivy library, which I believe is great. I programmed a custom map format, map editor, and map renderer (all of which are open-source) in Pygame, and then implemented them in an (albeit crappy, but it was just an example) small game called Hooded.

I programmed a bot using PRAW which monitors comments on a popular GiftCardExchange forum and helps detect spammers (this is actually what led me to do some work on Gspread). I also programmed my personal website, which utilized a little bit of Javascript / jQuery.

I've done a lot of stuff professionally, such as programming a information-packed graph renderer / log parse. I later converted that program into a website, which is now heavily used.

I also have done a lot of work with PySerial recently, and in fact there have been some national press releases about vending machine work I did (I can't go into much more detail because I signed NDA's). I've also programmed some stuff which parsed videos and generated GIFS, which were then uploaded to a Rackspace CDN using turbolift.

So, yeah, I've made some kick-ass stuff (with vim). You can check my Github if you want.

This "professional devs" club that you're apparently a part of sure sounds like a group of assholes (if they're all like you are). I don't think I even really want to be in it, honestly. But then again, I'm just some "kid" who has so much to lean from you. Please, give me some more special "professional secrets".

PM me if you want to see my resume, just in case you don't believe me (because I'm just some "kid").

You know what, this is the whole reason I stopped coming to this forum. Assholes like you who think they're so much better than everyone else. Do you just assume everyone you disagree with is a twelve year old or something? I'm out of this thread and this forum. I'm completely sick of this, there's way better communities out there.

EDIT: I got kind of mad, and I'm not really out of the forum, per se (although I doubt any of you care).

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

This "professional devs" club that you're apparently a part of sure sounds like a group of assholes (if they're all like you are). I don't think I even really want to be in it, honestly. But then again, I'm just some "kid" who has so much to lean from you. Please, give me some more special "professional secrets".

PM me if you want to see my resume, just in case you don't believe me (because I'm just some "kid").

You know what, this is the whole reason I stopped coming to this forum. Assholes like you who think they're so much better than everyone else. Do you just assume everyone you disagree with is a twelve year old or something? I'm out of this thread and this forum. I'm completely sick of this, there's way better communities out there.

EDIT: I got kind of mad, and I'm not really out of the forum, per se (although I doubt any of you care).

look.. you are the one that dismissed a guy that took his time trying to explain WHY when the project becomes bigger the tools start to become more important, with a one liner: "You don't get the point of vim at all, do you?".. and now you're turning all drama queen on the entire forum? what's wrong with you man?

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

This "professional devs" club that you're apparently a part of sure sounds like a group of assholes (if they're all like you are). I don't think I even really want to be in it, honestly. But then again, I'm just some "kid" who has so much to lean from you. Please, give me some more special "professional secrets".

PM me if you want to see my resume, just in case you don't believe me (because I'm just some "kid").

You know what, this is the whole reason I stopped coming to this forum. Assholes like you who think they're so much better than everyone else. Do you just assume everyone you disagree with is a twelve year old or something? I'm out of this thread and this forum. I'm completely sick of this, there's way better communities out there.

EDIT: I got kind of mad, and I'm not really out of the forum, per se (although I doubt any of you care).

look.. you are the one that dismissed a guy that took his time trying to explain WHY when the project becomes bigger the tools start to become more important, with a one liner: "You don't get the point of vim at all, do you?".. and now you're turning all drama queen on the entire forum? what's wrong with you man?

I've worked with big projects, I get that the tools are important. What I meant was, all the stuff he mentioned is great and all, but people like Vim for other reasons which have nothing to do with search and replace (which is pretty much all he talked about). And I did a one-liner, and then immediately edited it explaining why. Go look at my justification for saying that.

The point is, people make comments like the one you did all the time here (maybe not all the time, but I do see it around once a week), and I personally find them very stuck-up and useless.

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

The point is, people make comments like the one you did all the time here (maybe not all the time, but I do see it around once a week), and I personally find them very stuck-up and useless.

at the end it's up to you what to do with opinions from people that have more experience. Personally I value those very much, and that is why I had my fair share of wasted days trying to get all these super-editors (emacs, vim, sublime, lately atom) to do something I could actually use to make my work better.. and all I ended up was wasted time... But I still did it because many devs that I respect seem to rave about it.

So, unless you are working for an employer that has established tools, just use whatever you want.. as I've said.. nobody really cares.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

The point is, people make comments like the one you did all the time here (maybe not all the time, but I do see it around once a week), and I personally find them very stuck-up and useless.

at the end it's up to you what to do with opinions from people that have more experience. Personally I value those very much, and that is why I had my fair share of wasted days trying to get all these super-editors (emacs, vim, sublime, lately atom) to do something I could actually use to make my work better.. and all I ended up was wasted time... But I still did it because many devs that I respect seem to rave about it.

So, unless you are working for an employer that has established tools, just use whatever you want.. as I've said.. nobody really cares.

I don't care about the editor thing. Nobody else really cares. It's just a discussion.

I guess some of these people may "have more experience" (in editors? you're being pretty unclear), and that's fine. But that doesn't mean that everything they say is right, or that I can't argue with them, or that my opinion doesn't matter. And that's what you were implying.

Also, do you really think people "who have more experience" innately know more about editors or something? I'd get it if we were arguing about something like statically typed vs. dynamically typed, then "developer experience" would matter, but regarding editors, it's not like you realize that one editor is better than another with experience, it's mainly just a personal thing (that doesn't mean you can't have a discussion / argument about it though).

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

Also, do you really think people "who have more experience" innately know more about editors or something?

there is a very good chance they have been exposed to more different environments than somebody with less experience.

I would say that it is the guy with less experience that is claiming to "innately" know more about editors here ;)

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

Also, do you really think people "who have more experience" innately know more about editors or something?

there is a very good chance they have been exposed to more different environments than somebody with less experience.

I would say that it is the guy with less experience that is claiming to "innately" know more about editors here ;)

I'm really getting sick of how condescending you're being to me. I mean, that whole giant "drama-queen" post spelled it out for you: We get it, you think know more than everyone else, whatever. Bring yourself down to everyone else's level (or whatever works for you), because it's making you sound like an asshole.

Anyway, you get my point, no need to pick out a single sentence and respond to it. Why not try actually addressing my point, rather than taking a single sentence (out of context) to make me sound dumb.

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

This topic is closed to new replies.

Advertisement