No serious user of Vim would ever suggest that you not customize it. It's worth knowing the basics of a stock Vim configuration for simple use cases on a new system or in an environment where you can't or don't want user config, but if you're writing software all day in a stock Vim configuration, you're a masochist or a fool.
The advice I’ve followed is that when customizing vim, you should try to only extend it, not modify existing behavior. For example, in development it’s very useful to have a fuzzy finder. On a server, I won’t need it, and even if I reflexively did the shortcut to open it, nothing would happen. Same goes for things like linters, syntax highlighters, global search tools etc. Priceless on your primary dev machine, but you’re not completely hobbled without them.
I think the same applies to the pedal. Maybe you’ll try to use it when it isn’t there, but so what? It might slow you down for a second, but I don’t think it’s going to be a major inconvenience.
As a beginning VIM user I started out with the stock keybindings idea. After using it for nearly a decade, my finding is that it's like learning multiple spoken languages. It's not hard to switch context and use vanilla VIM despite normally using lots of customization. But, I do try to keep things idiomatic and predictable and not override frequently used key bindings.
This has been my experience as well. My vimrc is full of little niceties that I could live without, but if I end up in a vim without my shortcut keys I'd be like 'Oh this again I guess I have to :bn :bn instead of <C-q><C-q>'
I haven't really forgotten any of the long form commands that I create shortcuts for, but it's really annoying using the long forms when typing them out over and over was the reason why I created shortcuts for them in the first place...
> No serious user of Vim would ever suggest that you not customize it.
My .vimrc has the following lines:
source /usr/share/vim/vim80/vimrc_example.vim
colo desert256
set ai
set et
set sts=4
set sw=4
set t_Co=256
set ts=4
On systems that I don't have my .vimrc on, I have no problem working with them because what's in /etc/vimrc works well enough for me since I really don't have to much to change other than the colorscheme (since vim mode lines take care of the rest).
Yes, and this is the trouble with vim -- everyone needs to customise it, and that makes it difficult for the community to have standarised ways of doing things.
Everyone has their own workflow preferences and some will prefer using a lot of custom abstractions in their work environment. Others may apply a very minimal set of customizations (if they bother at all).
I believe it's better to allow people to choose how they configure their editor rather than making that decision for them.
But it would be better if the default configuration was good enough for most people.
Instead, Vim has a very spartan default configuration. There are good historical reasons for this. But it is a sad history, because it means, most long-time users end up with fairly heavy customisation. And those customisations will routinely be different from everyone else's set up, not just when they want to enact some personal preference.
That's true, I have more customizations to vim than I can count, however the idea that someone had tried to convey to the parent was probably not that he shouldn't customize it, but that he should remain idiomatic. I don't, for example, change the functionality of common keys, as I need to use them when I'm on an environment that's not my computer. Instead, I add functionality that didn't exist before or change defaults to my preferred settings. If I do change a key, it's a key I will never use, like caps lock.
When I'm much older, or, for dramatic effect, perhaps on my death bed, I hope someone asks me what the most important event of my life was, or what my fondest memory is, that sort of question.
I'm going to tell them: "Remapping caps lock to delete".
I should have said: I don't use Vim at all. I get by with Notepad++ for the tiny amount of G-Code editing I need to make a few tweaks to laser cutter programs.
I use AutoHotKey to remap caps lock to delete and shift + caps lock to caps lock.
Years ago, I got into the habit of using ctrl-[ to get out of insert mode instead of pressing Esc. I find having CapsLock useful for typing all-caps constants in source code when needed.
I map CapsLock to Ctrl, where it belongs. I've recently gotten into the habit of using Ctrl-[ for Escape, though, because I'm stuck on a MacBook with one of those horrible touchbars, and I had to turn it off to remain sane.
It does, but it requires that the word to be autocompleted is present in one of the other loaded buffers. If you're typing out a new variable name, it won't work.
I was referring to the regular complete feature (rather than omnicomplete). The default setting is supposed to take included files into account, but that feature doesn't appear to work with imports in python.
Question for anyone who knows: is there a vim command or plugin to transform the word the cursor is under to upper/lowercase (or camelCase, kebab-case, snake_case, while we're at it)?
g~w will swith lowercase letters to uppercase ones and vice versa. gUw will change all letters in the word to uppercase. guw will change all uppercase letters in the word to lower case. See :help case for more details.
There are probably plugins to change words to camelCase, snake_case, etc, but I'm not aware of any built-in command to do that (other than manually editing it).
I believe all the goods of Vim comes from lightness and portability. There are plenty of Vim emulators on other editors. Emacs for example are ricer's heaven.
Ricer is a slang term for a supped (souped?) up/tricked out Japanese car, usually with lots of aftermarket parts which make it go faster than stock. Think civics and supras.
He’s making an analogy between those cars with tons of modifications and the extent of customization that seems common in emacs.
Race Inspired Cosmetic Enhancements. (R.I.C.E.)Parts put on cars to make them look fast, when they have no internal tuning, and are actually slow as hell. Parts usually consist of excessivley angular bodykits, large rear spoilers, neon, sponsor stickers, chrome rims, fake "coffee can" exhaust tips, and loud, annoying paint jobs and/or vynils. Sometimes parts are do-it-yourself installed and are basically duct taped to the car. Most commonly known for being done to Honda Civics, but can also be done to slow domestic vehicles, such as a Chevy Cavalier, etc.
In the common vernacular where I live it's generally meant as a pejorative.
I'm pretty sure that's a backronym and that "ricer" is a contraction of "rice rocket," i.e. a pejorative and slightly racist term for performant asian automobiles.
I’ve been using Vim as my primary text editor for 9 years and i soon decided not to maintain a vimrc shortly after I began using Vim because I use a lot of different conputers here and there. That has worked out perfectly fine for me.
OTOH I’ve been using the Dvorak keyboard layout and custom keyboards for the same period of time but usually I get by if I need to type just a little and if I need to type a lot I bring one of my keyboards.
By other computers you mean SSHing to them or working at them physically? If the latter, this sounds like a very odd excuse. If you use a custom KB layout on your main machine(s), it is a way bigger showstopper for being effective at the rest of them. As you said, you do not care about those other machines much, so why stint yourself and not use handy customizations at least on the main computer?