Vim missing features

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"

Attached: forbiddenfruit.jpg (630x630, 52K)

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.

The last line: [-capital i

Attached: 1544119543875.jpg (247x313, 14K)

In more than one file
fucking sysadmin

>looking for "i"

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.

Because i am not a brainlet and Emacs in evil mode is better

It doesn't have a Lisp interpreter baked in

>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

Attached: 2018-12-21_09:54:57.png (810x1062, 117K)

I think I just realized all of Jow Forums are script kiddies who never worked with more than one file

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

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

Hahaha, oh wow.

I want vim but written and extendable in scheme, but not emacs.

I agree. Me too.

This.

no decent 3d rendering pipeline

can Jow Forums, for once collaborate, and build something worthwhile

Just fix YCM please.

:help tabdo
:help bufdo

>using tabs for files
Even the vim website says you shouldn't do that
also
>What are scopes?

>Loading all files of a 50 file project

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

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

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.

:%s/new/old/gc
or do a more sophisticated regex search

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

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.

> nvim is way better
> I hate uganda
> I do not no de wey (to use vim with the system clipboard)

This falls apart in big projects, trust me

Honestly? The fact that it's hjkl and not jkl; by default.

What did European keyboards do to you op?

Nope, US keyboard, jkl; is still considered the 'home row' keys on a US keyboard.

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}

Attached: 1540767035286.png (754x692, 1.1M)

Ahh, I see what you're saying now, it would be jklm on a Euro board?

for me it would be jklö

But Vim can easily do all of those.
See
Actually learn a tool before shitting on it, Anons.

see here

who asked YOU anything?

>>No variable rename or other refactoring
:%s/variablename/newvariablename/g
>>No "find all references to this variable/function"
/variablename

set clipboard=unnamedplus

pay attention to the thread you dummy

that's unix, schlomo

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.

Good extension language would be great.
And no, vimscript is NOT a good language.

Modern keybindings.

use python then

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.

It's called "GNU/unix", smartass.

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

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

>look at these ide features that I expect in text editor!
you fucking idiot. Ides exist for a reason.

Copy pasting in is terminal annoying

Nothing, it's perfect

literally have a terminal that can copy paste

>gf

Attached: 1530208342253.png (628x719, 347K)

Maybe if yours is shit.

Emacs, vi, nano, ed, and sed don’t beg for me to donate to africa.

If you know Vimscript you can probably implement those features yourself. I use Vim almost exclusively, except when I'm in my DOS VMs.

elisp

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.

you literally only see this message if you type vim without any arguments like a fucking spoon

elisp, intero, flycheck, org-mode

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?

yes to your last question.
then check out these plugins to make it more like an IDE
lightline.vim
lightline-bufferline
nerdtree
nerdcommenter