IDEs are architectured completely differently to text editors; they just happen to look similar (big editor pain + utilities around it – okay, vim doesn’t look like that – okay, vim doesn’t look like that if you’re using it as intended as a text editor and not an ide).
if you tack the utilities onto a lightweight text editor – it doesn’t work very well!
nowadays when im coding i love and prefer using the built-in language documentation of numpy and so on, via python’s help()
function. it’s really convenient. it’s much faster than googling ‘numpy ravel multi index’ because the search on the numpy website just doesn’t work. the one downside is you have to know the exact name of what you want help about. i suppose in an ide or something with an lsp you could use completions, but if im really stuck i’ll use dir()
or google for the feature. i wish more languages practiced self-documentation this well. maybe i need to work out how to get an offline copy of mdn.
im also lucky in that i don’t need ide features. i broadly make do without. i work on smallish projects, and hold a lot in my working memory. i don’t do software engineering i do scripting with occasional compsci influence.
yeah, vim is not a specialised language editor. it is an ultra-extensible text editor. vim is designed and intended to be a very good way to get from your keyboard to your screen, with minimal nonsense.
hmm yeah that’s a good point, when we say ‘vim is everywhere’ it’s not on windows, the most widely used os. also different versions/compillations of vim are the defaults on different platforms, which matters if you use more than the most basic features. like system clipboard support…
reject “productivity”. but as for tool-worthiness (is it the right tool for letting me do what i want). what i want is a distraction-free editing experience. lightweight is important because my scientific computing is often resource constrained (most of my ram is eaten up by datasets, i don’t have a browser open 80% of the time). i don’t think i could use a resource hungry ide to do my work.
at the same time, the workflow of vim in one window, terminal doing compillation/execution debugger in the other is alright, but quickly gets unwieldy if im trying to work on more than one project/script at once. it gets tricky to tell terminals apart at a glance. i think this is more an issue with window-management than anything else…
ultimately, no one cares if you use vim. try a bunch of different tools and see what works. no one way will do.
this is making me think about my keyboard; it’s the tool i use most in any day. i need a better one. more ergonomic, split &c.. and i need to improve my keyboard layout. i need to have vim registers working properly and not becomming accents; i don’t really type in other languages anymore. i also need to put the macro key and the manual key and the next search item key in better places.
oh i should learn about vim tabs too actually.
learn sed
, awk
, cut
and so on.
also if you really want you can [just] enable vim-navigation or vim plugin on whatever ide you like. the core of vim is this way of entering text and manipulating a cursor, and that is not dependent on actually using vim!
undotree, another feature i need to learn to use. and a fuzzy finder, presumably. is there one built in?
wow, the comments on github blogposts are incredible. pure undiluted techbro.