Whats keeping you from exclusively using this? (or any other editor)
For me:
>YCM go to definition is broken >No variable rename or other refactoring >No good plugin for function folding >No good script for "create implementation for this function definition" >No "find all references to this variable/function"
Use vim with a language client and cquery. I routinely use this for programming large frameworks, it's quick and pretty memory-efficient. You'll still need compile_commands.json using bear or the like, though.
Those are all IDE functions. Vim is not an IDE. It can't refractor variable names without defining a language syntax. Even it's syntax highlighting is pretty flawed and mostly limited to keywords.
I use it exclusively as a text editor and use vim emulation in all my IDEs. The one thing I hate about most emulators is marks seem to never work.
Nicholas White
Because i am not a brainlet and Emacs in evil mode is better
Juan Rivera
It doesn't have a Lisp interpreter baked in
Angel Turner
>YCM go to definition is broken I use nvim with deoplete since it's asynchronous and won't slow you down
>No variable rename :%s/old/new/g
>No good plugin for function folding :help folding :help foldmethod
>No "find all references to this variable/function" gf / gd
>No good script for "create implementation for this function definition" is this some snippet memes? :help abbreviations
I think I just realized all of Jow Forums are script kiddies who never worked with more than one file
Nathaniel Green
>>YCM go to definition is broken you need to use ctags >No variable rename or other refactoring sed -Ei 's/(\W|^)oldvar(\W|$)/\1newvar\2/g' **/*.{c,h} >No good plugin for function folding you don't need a plugin for this, type ":set foldmethod=syntax" then type zM >No good script for "create implementation for this function definition" you can make a macro to do this in like 20 seconds >No "find all references to this variable/function" grep
Michael Price
Linux philosophy of "do one thing well" applies here. If you want multiple files, you can use tabs / splitscreen within vim or other tools ( ie. gnu core utils).
Oliver Howard
Hahaha, oh wow.
Hunter Sanders
I want vim but written and extendable in scheme, but not emacs.
Ryder Foster
I agree. Me too.
Ethan Cruz
This.
Adrian Russell
no decent 3d rendering pipeline
Leo Wood
can Jow Forums, for once collaborate, and build something worthwhile
Lucas Turner
Just fix YCM please.
Robert Cooper
:help tabdo :help bufdo
Luke Walker
>using tabs for files Even the vim website says you shouldn't do that also >What are scopes?
Cameron Perry
>Loading all files of a 50 file project
Joshua Perez
I'm just gonna assume you want to rename variables in multiple files by that post. I'm also using Ale, and Ale has ALEGoToDefinition.
>:ALEGoToDefinitionInTab >:%s/old/new/g >:tabn >. woah... or you could just use grep and awk to find and replace shit in library files.
why are IDE users such dickheads? I'm just trying to help out
Jacob Perez
>>No variable rename >:%s/old/new/g
>:%s/size/buf_size/g >g++ spits out 10000 lines of template errors because something unrelated to variable I want to change has had "size" in it
Lucas Martinez
I'm just suprised theres no plugin for something as basic as this. Renaming variables by hand is very dangerous and should always be avoided.
Lucas Hall
:%s/new/old/gc or do a more sophisticated regex search
Brandon Adams
>Vim plugins I don't use any plugins, just a simple vimrc. When I'm programming rather than simply editing dotfiles, I use emacs with evil mode. emacs is superior to vim for programming. For example, the CC mode is builtin and more comfy than vim plugins. But vim keystrokes and movements are superior so so I don't use emacs without evil mode.
John Foster
If there's some functionality that you need that you can't find a vim plugin for (doubtful), write your own? It's not very hard, and if it's something that you find useful then it's probably something that a lot of people would find useful, so just think of all the vim cred you'd get.
Grayson Lee
> nvim is way better > I hate uganda > I do not no de wey (to use vim with the system clipboard)
Jackson Sullivan
This falls apart in big projects, trust me
Carson Morales
Honestly? The fact that it's hjkl and not jkl; by default.
Charles Diaz
What did European keyboards do to you op?
Levi Martinez
Nope, US keyboard, jkl; is still considered the 'home row' keys on a US keyboard.
Aiden Hall
you fucking brainlet :h [I
*[I* [I Display all lines that contain the keyword under the cursor. Filenames and line numbers are displayed for the found lines. The search starts at the beginning of the file. {not in Vi}
Ahh, I see what you're saying now, it would be jklm on a Euro board?
Nicholas Allen
for me it would be jklö
Aaron Ramirez
But Vim can easily do all of those. See Actually learn a tool before shitting on it, Anons.
Jose Martinez
see here
Juan Jenkins
who asked YOU anything?
Leo Barnes
>>No variable rename or other refactoring :%s/variablename/newvariablename/g >>No "find all references to this variable/function" /variablename
Kayden Perez
set clipboard=unnamedplus
Angel Lee
pay attention to the thread you dummy
Parker Morgan
that's unix, schlomo
Parker Morris
Don't use vim in a way usual IDE works.
Don't emulate IDE functions with vim (tabs, refactoring)
Vim is simply different, learn it and use it properly.
Use ack (grep) to FIND shit in your code.
Name your shit properly so you can find it later.
Learn your shitbase by constantly searching through it, see where things are, where its used.
Jason Sanchez
Good extension language would be great. And no, vimscript is NOT a good language.
Kevin Collins
Modern keybindings.
Tyler Moore
use python then
Julian Davis
Approaching Vim trying to make it behave like an IDE is setting yourself up for failure.
Instead, use it in tandem with other shell tools. Learn how to use it as you learn the rest of the shell environment; think of them as a loosely coupled system on their own, strung together with shell script. If you don't actually find this idea appealing, then Vim is probably not for you. Maybe not Unix or GNU/Linux, either.
Some general tips:
* Be patient. * Be persistent. * Start with vimtutor. Don't do anything else until you've done vimtutor. Don't even create a .vimrc until you've done vimtutor. * Actually read the :help. It's better than you think. Don't use Stack Overflow at all, no matter how tempting. Find what you want in the :help. :helpgrep is useful here. * Don't load it up with tons of shitty plugins. If you do install plugins, find small ones that change as little as possible to do what you need. Better still, write them yourself.
In general, don't try to force it to behave more like a program with which you're more familiar; it's its own thing entirely. Learn to configure and customize as you go, in response to actual need.
Michael Gutierrez
It's called "GNU/unix", smartass.
Ethan Richardson
>>No good plugin for function folding set foldmethod=syntax "set foldnestmax=3 set foldenable
>No "find all references to this variable/function" Use ctags you pleb
Asher Sanders
Look user I'm not a vim fag but if you're going to write regex Ex commands you can at least write a good regex. at least use \b or
Christopher Barnes
>look at these ide features that I expect in text editor! you fucking idiot. Ides exist for a reason.
Emacs, vi, nano, ed, and sed don’t beg for me to donate to africa.
Adam Collins
If you know Vimscript you can probably implement those features yourself. I use Vim almost exclusively, except when I'm in my DOS VMs.
Cooper Miller
elisp
Xavier Rivera
tabs are like viewports for buffers. working on multiple files is simply having multiple buffers open in multiple tabs or splits. you can have buffers open in tabs or splits depending on your need. vim is awesome.
Caleb Hill
you literally only see this message if you type vim without any arguments like a fucking spoon
Adam Cox
elisp, intero, flycheck, org-mode
Benjamin Wright
Ive been wanting to learn vim and finally gave it a try around a week ago.
I installed neovim and completed vimtutor, and tried to use it exclusively, but since I am working in a project with a lot files, but moving code or switching between them became too tedious. Since it was slowing me down too much, I decided to use the vim bindings on vs code instead.
Problem is you then get a mix of features having normal vim command mode and most regular vscode features in edit mode. I end up using the keyboard arrows more since it works in both modes, searching and replacing is easier with ctrl+f, etc.
While I feel like i am still learning vim slowlier, I keep mixing the two ways of doing thing, I always fuck up things like copy pasting in the first try, or suddenly jump around the editor with wrong key presses. It has been a pretty big hit to productivity,
Any tips on easing into vim? Should I put the bindings aside for a bit and setup vim + plugins later when I have more free time?
Jacob Price
yes to your last question. then check out these plugins to make it more like an IDE lightline.vim lightline-bufferline nerdtree nerdcommenter