Why do people act like Vim or Emacs are hard to learn, or that Vim is easier to learn than emacs

Why do people act like Vim or Emacs are hard to learn, or that Vim is easier to learn than emacs

I just went through the Emacs tutorial in about 15 minutes, about the same time it took me to do the vim one
does everyone just have ADHD or something? or do they figure that they have to learn every command and every config before they use it?

Other urls found in this thread:

github.com/alols/xcape
man.openbsd.org/OpenBSD-current/man1/vi.1
en.wikipedia.org/wiki/NEdit
github.com/adolenc/cl-neovim
git.savannah.gnu.org/cgit/emacs.git/tree/lisp/play/doctor.el#n1574
github.com/cohama/lexima.vim
github.com/sirver/UltiSnips
github.com/luochen1990/rainbow
twitter.com/NSFWRedditVideo

I think by 'learn' most people mean 'master.'

vi takes some practice for the muscle memory to kick in, but after about a week of practice you're good to go.
Swapping caps lock and escape keys make it nicer too.

they are both as shit.

nano masterace reporting in.

These are the problems I had when learning vim.

1. If I just read the tutorial once I'd probably end up forgetting some of the keys the next time I use vim. For me it was a lot to digest in one read.
With emacs, I had to keep on referring back to the tutorial to remember which command did what.
2. There are still many more things you can do in terms of commands. for example, I didn't know 'a', 'A', and 'I' were a thing in vim for a while and kept on using 'i' for everything.
I also didn't know that 's' and 'c' were commands. This might have just been because of a shitty tutorial though (I only saw these things once I used vimtutor).
3. I was still slower using vim than a normal texteditor. I needed to think which key does what before acting.
Also, not knowing certain keys makes it hard to edit text quickly.

Also, the emacs tutorial took me longer to read than 15 minutes (at least 30), unless you skimmed it. I might just be a slow reader though.

Nano was designed to let people who don't want to read manuals write mail. If you're going to spend a lot of time using your editor it's worth learning how to use it and Emacs is better for programming in every way.

Better than what? Ed master race reporting in.

Better than nano. I mentioned it in my post. It was also the topic of the post I was replying to.

Am I the only pleb that uses ctrl+[ ?

It's not much better than escape. You're better off putting escape somewhere else.

ctrl+[ wasn't added to vi(m) for convenience, it exists because terminals are based on so much bullshit that they're unable to tell the difference between ctrl+[ and escape.

I don't know about Emacs, but learning Vim is like learning a new language (Vim commands are literally a language). You can learn to speak a few sentences in any language in an hour or so, but learning to actually speak the languages takes years. Vim is not as bad as human languages, but to get efficient at it you will have to keep practicing it and every time you come across something new you should look it up in the manual. Just like learning a language this takes dedication and the will to carry through with it. Some people simply don't have the patience for that. Suck for them, I have been using Vim (actually Neovim) for over a year and it was a good investment of time. I was determined and I simply jumped in head-first and forced myself to get it down. It's like jumping into the water, you either learn to swim or you drown.


You should map Caps Lock to CTRL instead, that's a much more frequently used key. If you want an easy way the exit out of insert-mode use 'inoremap kj ', the letters k and j never appear next to each other in English or most languages.

There's "lockjaw" and "blackjack" :^)

xcape -e 'Caps_Lock=Escape;Control_L=Escape;Control_R=Escape'

github.com/alols/xcape

I really like having escape immediately to the left of the 'a' key. It makes vi incredibly fast and effortless for me. And I use caps lock so infrequently that it's rightfully banned to the upper/left edge of keyboard. I'd even go so far as to swap the physical keycaps, but those ones on my keyboard aren't the same size.

It was easy to reconfigure the keyboard.

In .Xmodmap file:
! swap Caps_Lock and Escaperemove Lock = Caps_Lockkeysym Escape = Caps_Lockkeysym Caps_Lock = Escapeadd Lock = Caps_Lock

In .xinitrc file:
xmodmap ~/.Xmodmap

In /etc/wsconsctl.conf (for OpenBSD text console):
keyboard.map+="keysym Caps_Lock = Escape"

> use 'inoremap kj '
I'm using (n)vi, so it doesn't have that stuff.
man.openbsd.org/OpenBSD-current/man1/vi.1
But anyway I don't need it, hitting escape is quick and easy.

I don't like Vim. It was unintuitive and clunky, plus the backup files kept messing up a bunch of stuff, so I stopped using it. I use Notepad++ now which just werks.

You're thinking of Pico; Nano isn't a simple Pico clone since a long time, now. What's nano is really lacking is a simple GUI to overcome terminal emulator's capabilities. Currently forced to use Geany because I don't find anything else that just edits source comfortably.

I wonder why they keep reimplementing new editors with $GUI_TOOLKIT_DU_JOUR when there's already really nice ones for decades. It's pure madness. They should have just stuck with using Motif/Lesstif instead of all this Gtk, Qt, and other new shit that's just a bunch of dick-waving and NIH reimplementations of the same old shit for the thousanth time.
Anyway, here's a really nice one:
en.wikipedia.org/wiki/NEdit

Vim is literally perfect.

I don't know much about emacs but I know it's bloat .

Sounds cool, will try. But still tries to be more than an editor (split windows and tabs are WM's job).

By the way, Am I the only thinking that modal is shit for editors but better on stuff like web browsers?

Are all of you clinically retarded?
A text editor should let you edit text without having to read through 2000 pages of docs or without having to memorize obscure key commands some nerd came up with.
Editors like ST2 or TA do exactly that.

Fuck you fucking autists with your shitty "editor" wars.
IT IS NOT

What do we think of the?

You're mentally handicapped, my man. Sounds like you have no clue why people use either of those editors

...

Humor me and explain how using either of your shit tier editors makes you superior to people who use something else.

When did I ever mention superiority, stupid? It's more about speed and convenience.

So you are saying it allows you to shit out more code/hour. That is only relevant if you are a streetshitting codemonkey.
Yeah getting carpal tunnel from using an elementary tool sure sounds convenient.

So at the end of the day all you can do is call me names. Well done you sure showed me.

Oh really? Here's a quote from your first post.
You fucking started it you nigger.

Nobody's trying to show you or anything. You're just hallucinating that people are hostile to you because muh autustuc nuhkburd steutshittur xDDD.

if bloat were an issue we'd be using ed and vi, not emacs and vim


speed is a valid and meaningful reason to use anything, life is short, why waste time?

as much as you like to meme, vim's keybindings are fast and comfortable, and emacs' are re-configurable, meaning that if any particular command does give you an issue, you can fix it, in fact spacemacs was made specifically to cater to people that find emacs default keybinds to be bad
and as much as people joke, if you're in an environment where you often are interrupted from text editing to send an email, being able to C-x 5-m and fill out an email in the time it'd take you to open an actual mail client, and then to send it quickly with a quick click of C-c C-c is very convenient
i'm op, I -just- learned Emacs, you learn commands quick, especially since it's mostly modular; like a language

C-x = general command using keystrokes, as opposed to M-x which is what you use to type in a command's name
5- = open in a new emacs window
-m= open a mail form in this buffer/in a new buffer/in a spilt screen/in a new window
C-c = mode specific commands (in this case message mode)
C-c C-c = send mail and close mail window (similar to the general emacs close command C-x C-c)

What a brilliant insight. I guess I should tell all those idiots who learned to drive cars, trucks, trains or fly airplanes that they have been wasting their time, walking is so much easier than having to learn how to operate a vehicle. And when I see a craftsman use a powertool I will know not to hire him, if he was worth his money he wouldn't be using those, he would know how to get work done using manual tools.

If anyone is a dense motherfucker it's you. I guess if you are paid just for sitting in your office or you are a NEET then efficiency doesn't matter, but for the rest of us getting work done faster is worth the little effort we have to invest upfront.

Cars and trucks have a standard user interface. Once you have learned how to drive one, you can drive basically any of them, because they are all controlled the same way. Planes are a bit less standardized, but even in them, the basic controls are usually the same.

Similarly, computer software has a standard user interface, or at least used to have before this mobile UI nonsense started. For example, copy-paste works with Ctrl-C and Ctrl-V or choosing the commands from a menu. You only need to learn it once, and then you can use any standard-compliant program at basic level without any further training. Of course there is always some application-specific functionality that needs to be learned, but that is the case regardless of how the basic editing commands work. To me, having this standard interface seems much more efficient than having to learn everything from scratch for every program you use.

Both emacs and vi(m) are examples of "old-school unixism", doing things in very complicated way just because they have always been done that way. Of course you are allowed to use them if you want, but please don't try to teach them to newbies, because that tends to just drive the newbies away, back to proprietary software that works in the standard way. There are plenty of open source text editors with the standard user interface and similar programming features (for example: mooedit, nedit, scite) that should be recommended instead.

Sublime noob reporting in

I just don't get the point of any of this autistic shit when stuff like Mousepad and Notepad++ exists.

BUT YOU SAVE A FRACTION OF A MILLISECOND WHEN YOU USE OBSCURE VIM COMMANDS THAT BREAK YOUR WRIST
DONT YOU FUCKING GET IT?

Those are not programmable. Emacs can have any functionality you want. I can set it up to automatically compile my code and highlight warnings and errors. I can use macros to perform repetitive tasks literally twenty times as fast as usual. I can install an extension that hooks it up to Eclipse for enterprise(tm) Java development. I can get just about every feature of every other editor.

This is definitely worth it if you program a lot. I use it for hours daily, so I'm willing to invest a little time to make it do exactly what I want. How often do you think "I wish this worked differently" when using a program? With a programmable editor you can very easily make it different. Things work the way you want them to and common tasks become as efficient as possible.

the what?

Speed is good for every craft if you don't realize that you're probably a codemonkey yourself. Talk about calling names by the way.

That's emacs, not vim (joke)
If anything, less keystrokes to do the same thing means less likely to get carpal tunnel.

The Hessling Editor

Emacs extensions are usually higher quality, better integrated into the editor with more features and customization than their [lesser editor] equivalents.

Have you ever worked in a corporate environment before? Everyone literally has outlook open 24/7.


Most time as a software engineer is spent in meetings. You average a couple hundred LOC a day if that. I've seen people at work write those lines just fine with shit like ultraedit.
Emacs and Vi are mostly a meme but in the end it doesn't fucking matter which editor you use.


The carpal tunnel when using those editors comes not from typing but from the command sequences you have to execute which force your hands in unnatural ways.
w/e keep defending your editor but the reason no one likes them is because their drones are obnoxious.


They are not hard to learn people (rightly) don't see why they should if other tools can do the job just as fine and don't require any time investment.

This whole thread is "i am holier than thou for using x"
How about you go write something instead of shitposting here?

Carpal tunnel syndrome comes from genetic predisposition and repetitive strenuous wrist activity. Activity like pulling a lever every day for instance.

I'm pulling my lever every day, am I at risk?

yes

I like modal in editors especially, because that's where I tend to spend hours typing away.
Many years ago, I started to develop tendonitis in both hands/wrist areas, from bad ergonomics and very high-stress job. The pay was shit too, but it's all I had so I stuck with it anyway. Also too much mousing really aggrevated it, or maybe helped cause it.
For a while it was really tough, but I learned ways to deal iwth it, I ditched mice entirely, switched to an ergonomic keyboard (paid out of my own pocket). I learned to pay attention to how my body feels and reacts, to stretch a lot and take small breaks often.
It turns out that modal editor is the best for me. It lets me take tiny breaks easier, whereas chording always puts stress on some area.

protip:
If you need a tutorial on how to use a fucking text editor, it's most likely shit.
On the plus side, you can brag about how experienced you are with computers just because you've memorized a bunch of key combos.

protip:
If you you don't use emacs or vim you don't belong on Holla Forums
get out

protip:
if you listen to anything said on Holla Forums you are retarded

But I do use vim for work. That's how I know it's shit.

guys..

I use nano on my openbsd 5.9 system that is more secure than any linux system on earth.

vim does what I need it to and with a small footprint.
emacs is a giant turd.

at least its not a cia nigger

Terry actually uses his own TempleOS editor that is surprisingly similar to Emacs. Chorded keybindings, built-in editable terminal, images, okayish mouse support, etcetera.


vim is disgustingly large for a so-called "small" editor. Emacs is only around three times as large, but it has a ridiculous amount of additional features.

neovim = ~7MB
emacs = ~40MB

Neovim is a different (better) editor.

Gedit master race reporting in

TempleOS is like emacs, good OS but needs a better editor.

On my system it's
Vim: 2.2MB (1.5MB is the version that came with the system)
Neovim: 2.6MB
Emacs 12.4MB

Not that it really matters, 12MB is nothing for today's computers.

Emacs can emulate Vim. Can Vim emulate Emacs? Checkmate.

I've always wanted to learn emacs, but I absolutely despise chords
C-p, C-n, C-b, C-f C-s, C-r. Fuck that, I'd rather use k j h l / and ?.


I'd avoid using xmodmap and bind stuff. It's annoying when you're on ssh.


gvim in edit mode with Windows keybindings (:so mswin.vim in vimrc), CTRL-S to save, CTRL-O then :q! to quit


The thing is these editors can be used in such 'standard' fashion by toggling 1 or 2 settings. Taking advantage of the 'exclusive' features is completely optional, but pays off in the end.


I'm not knowledgeable about emacs, but you start appreciating little things like vim's text object selection (delete stuff between quotes, parens, brackets, etc.), CTRL-D CTRL-U (scroll half-window down/up), % to jump to matching parenthesis, etc. Also, jumping forward and backward between searches (CTRL-I, CTRL-O) is very handy.

Enable viper-mode (full vi emulation, installed by default) or install evil-mode (vim emulation) or Spacemacs (evil-mode plus other nice stuff).

What's the point of using emacs if you're turning it into vim? Legit asking.
It seems to me like switching to KDE, only to end up using GTK applications.

Because Emacs is not about its keybindings. vi is, and vim is to a large extent, but Emacs is about extensibility. It uses a "real", powerful programming language that was designed for Emacs (elisp), and most of the editor is implemented in that language.

Every keypress calls an elisp function. In a few keypresses you can get a description of the function with its arguments, a documentation string and a link that lets you jump right to its definition in the source code of Emacs itself or the extension it's part of or the configuration file it's in. You can then modify its behavior with configuration options and hooks, assign a keybinding to it, or even change the definition and evaluate it, replacing the original version of the function.

GNU Emacs was designed from the ground up to be easy and pleasant to modify and extend and shape to work the way you want. The original version of Emacs was a layer on top of TECO, an editor that was a bit like ed but Turing-complete. It was written in its command language, which sucked for that purpose. GNU Emacs avoided that trap.

But vim is still caught in it. It was not written from the ground up to be extensible. It's a fork of a variant of vi. Its extension language, vimscript, has its roots in ed's command language. Command languages are for doing simple tasks in few keystrokes, which is not good for complicated programs. So vim ends up having interfaces for all kinds of other programming languages like Python, which are inferior to elisp for that purpose because they don't completely integrate with the editor.

The end result is that Emacs extensions are simply better. They are not as limited by their implementation language, and you get really impressive things like org-mode.

Emacs also has support for images, variable-width fonts, and other things like that.

Ed with visuals is the correct way to use vim. :a for appending text, :s/ for revising text, and enter and - for navigating the lines. What will I do to feel superior to others if they remove these functionalities?

All that is fine as a command language, just not as an extension language. A good command language is a bad extension language and vice versa.

Neovim lets you write plugins in any language, even in Lisp:
github.com/adolenc/cl-neovim
I haven't tried it yet and I'm not aware of any plugins actually using it, but it can be done. You are underestimating Vim, the use-case you described can also be accomplished via Vim plugins. The main difference is that Emacs already includes them out of the box while in Vim you have to build your own setup.


No. Cars, motorbikes, boats, airplanes, helicopters and horse carts are all vehicles, just how nano, Vim or Emacs are all text editors. There are different cars, boats and so on, just like there used to be different vi or Emacs or nano clones. And just as all cars are more or less the same, so were all vi clones more or less the same. But vi clones were just as different from Emacs clones as cars and boats are different.

Where the analogy breaks down is the fact that today we have many different cars, but only one Emacs, but that's because software can be duplicated at close to no cost and it's more efficient to port Emacs to a new system than it is to re-implement Emacs from scratch. Cars are physical, so you can have many companies building similar but slightly different cars.

The point is that when you are saying that all cars control the same it's the same as saying that all ports of nano control the same. But just because you know how to operate one transportation device does not mean you also know how to operate another one. Saying that all text editors should be like nano is like saying all transportation devices should be like cars. There is nothing wrong with cars and there is nothing wrong with nano, but they are not all anyone would ever need.

Are those languages integrated with vim to the same extent? Do keybindings map directly to functions and can you directly change the editor by changing normal variables? Can you call functions from other packages, and can you call functions that are defined in vim's source code?

vim with all the shitty ass plugins you need or it wont work: 426GB

It is a kind of selective ADHD. Some people just don't like learning "messy" things like unix commands or text editors. For example I have a master's degree in pure math, and I have no trouble with pure math or programming, but when it comes to things that require a lot of memorization of arbitrary commands like using the unix shell or text editors, I always just give up and look for something with a GUI.

Even with programming I'm very bad with memorization e.g. there are some functions in my companies codebase that have slightly unintuitive names, and I spend a significant amount of time trying to remember them. Usually I remember where I last used them in my own code and look it up there.

The nice stuff is fucking amazing. You never need to "learn" keybinds ever again. Probably best user experience I've ever seen.

Yes, if they implement all of the spec. Of course a developer could decide to implement only a subset, but that's not because of Neovim.

If you want to. You map keys to keys or key sequences, which can be a key sequence to call a Vim function: 'nnoremap x :call myWeirdFunction()'

I'm not sure what you mean, but Vim does have options that affect the editor. For example I have `nnoremap l :set list' to be able to toggle the display of whitespace on or off by presseing Space + l in quick succession.

Yes, but Vim plugin culture does not like making plugins coupled with each other. But if for example a plugin adds new text objects you can use those like regular Vim text objects, other plugins won't notice the difference.

Well the Unix CLI isn't arbitrary. A lot of stuff was chosen either for practical reasons, or because it's mnemonic.
Look at your shell metacharacters like < > that represent reading from and to a file, plus some derived forms like >>,

>I'm not sure what you mean, but Vim does have options that affect the editor. For example I have `nnoremap l :set list' to be able to toggle the display of whitespace on or off by presseing Space + l in quick succession.
I mean that when I'm writing code in another language I can just change a variable to change the behavior of the editor. In elisp, you can change the tab width with(setq tab-width 4)The setting is the same as the variable.
Could I treat the tab-width setting in Python just like the (global) variable called tab-width?

Some options are useful, but some are literally just bloat. Just yesterday I was looking up the manpage of mkdep and there is a '-f file' option that allows you to specify where the output is written to. Why not just have to program write to stdout and then redirect it to a file instead? The '-a' option would be superfluous as well because you could use redirection to decide whether to overwrite or append. Even the '-p' option is unnecessary because you could pipe the output through sed instead. So literally three out of three options are bloat.


Yes, you can do that:
set tabstop=8 expandtab shiftwidth=4 softtabstop=4
You can make it filetype-specific by writing the setting to 'ftplugin/python.vim' and using 'setlocal' instead of 'set'. If you want different settings in a C file you write the corresponding settings to 'ftplugin/c.vim'. Since the settings are local to the individual buffers you can treat the variables like globals and you get always the correct value for the filetype of the buffer you are using.

Some people use auto-commands to detect the filetype instead of writing the settings to different files, but I prefer keeping different settings separate. It doesn't really matter, it's all just personal preference.

No, my question is whether external languages like Python support that. I get that you can do it in vimscript. Vimscript is as tightly coupled to Vim as elisp is to Emacs. But can you do it in Python? Do settings that are variables in vimscript correspond directly to global variables in the Python extensions?

I want to know how tightly integrated with vim those external languages are, not vimscript.

No you didn't. emacs can go as deep as you want it to go, it's less an editor and more a lisp intepreter with decades of bling.

org-mode + lisp shit will ruin your life if you let it.

Yes, you can do that as well, via vim.options in Python. I never used it myself, but it can be done.

I should add that VimScript is a nice language when it comes to configurations, but it's pretty awkward if you want to do more complicated things, that's why other languages were added to Vim. The downside was that you had to compile Vim with support for that language. Python is pretty popular, so pretty much everyone has that compiled in, but other languages are less likely to be available. That's why Neovim is shifting the responsibility for language out of the editor and into the individual languages.

I hate it when fucktard autists complain anytime something requires the slightest amount of memorization. Please explain how memorizing the basic operations in an arbitrary decimal system is any different than memorizing arbitrary unix commands or becoming proficient in arbitrary text editor.


How many times do you really need to use a "obscure" and unintuitive vim command? It's a pretty rare experience for me.

I still remember the time I spent almost an entire day trying to debug my code in Eclipse, only to find out it wasn't an issue with my code at all. It was a a known unresolved bug within the eclipse console related to how EOL was being processed. Never again.

I use vi, find it convenient for a lot of things but never ever seen any one using Emacs at this point I am not even sure if it really exists or it is a meme

Not sure about Notepad++, but try substituting a single expression in a text file for a different one in Mousepad. I can do that in vim in about 2 seconds.

I use Emacs for all my text editing needs. Do you even into Freedom bro? If I have to I'd use Nano over Vim, because fuck Uganda.

I think you meant "make complete"

Today I used Emacs built-in psycotherapist. Does Vim care about me like Emacs does? No, it doesn't.

Vim doesn't even ship with suicide prevention. Shameful.

git.savannah.gnu.org/cgit/emacs.git/tree/lisp/play/doctor.el#n1574

Who came up with that garbage and why do people actually use it?

Evil mode. Vim is for editing text, Emacs is for interacting with text.

No need to get mad. It's a matter of extent. Math has some arbitrary notation like the names sine, cosine and tangent, but not as much as unix commands. If you think that unix is as elegant and simple as mathematics then you don't understand mathematics. To answer your question, the decimal system is completely specified by:

1. The base (10)
2. The symbols for each digit 0 to 9
3. The symbol for the decimal point.

Those are the only things about decimals that need to be memorized. Everything else follows from the definitions. To me that is a lot less memorization than needed for vim or emacs.

Does anyone here actually use w3m? or whatever browser emacs uses

4 tries in captcha until I passed, horee fek

Dude, nobody even gets through calc 1 without memorizing a bunch of derivatives of various trig functions. Technically you can figure them out yourself by following the same steps as in proofs, but nobody has time for that during tests, and besides, nobody really gives a shit, except maybe some math majors.
Heck it's even the same deal with algebra and trig. A lot of it is just applying steps you learn (memorized) to solve canned problems.
And all that stuff is really quite tedious, but we put up with it because it's a useful tool. If I want to make 3D engine from scratch (like with just a simple 2D video framebuffer), I got to know a little bit of trig and linear algebra. But I don't want to spend weeks on end doing proofs that cover all the walls of my house, like math major spends all their time because that's how they have fun.

There is an Emacs front-end for w3m, but that's not a "proper" Emacs browser.

Emacs has eww, a text browser completely implemented inside Emacs. It's actually pretty useful for looking up documentation because you can just treat the webpage contents as normal text and copy stuff from it or feed it into a REPL you have running or whatever.

You can compile Emacs 25 with Webkit support. The only real advantage of that is that it's integrated with the Emacs buffer and window management, but it's pretty rough and I think it's mostly a proof of concept for xwidgets support. Still pretty neat. You can also use it for playing media files.

w3m is comfy, vim-keys etc


"we hitting bloat that shouldn't even be possible "

Elinks is better.

mkdep -fap to ./lolis

"-f" takes an argument, so that doesn't work, but try "ls -cuntflaps".

And in regular unix tools when you combine multiple short options with arguments you can write the arguments after the options (as long as you keep the order) e.g. some-program -io input.txt output.webm

That's exactly my point.

Sure, it's only a matter of memorizing syntax, operators, associativity, commutativity, distributivity, and other properties, rules of precedence, variations in behavior over different sets, transcendental functions.
All of that is just a small portion of middle-high school math.


I've always hated how proofs are handled at college. They feel like reading spaghetti code without comments.
Nobody ever bothers to explain how to structure a proof, what a lemma or a helping theorem is, how to cite/use other proofs, what is/isn't allowed, etc.
It's like leaving a computer-illiterate person sitting at the keyboard and asking them to write a fizzbuzz in C.

Because linuxfags have nothing interesting or major to do with their meme distros so arguing about shitty text editors is all they can do.

Or maybe we spend most of our time using a text editor and as such are quite particular about the one we use.

...

to edit config files because your shit os doesnt work unless you spend >2000h fixing it

All you niggas need WordStar 4.0.

We prefer the denomination GNU/linuxfags

Who are you quoting?

I wrote 100k LoC this year. Doing that without vim would have killed me. If you don't write much code editors don't matter so I understand why you're confused.

Tip of the day: make curly braces with 3 keys (Vim)
nnoremap mb A {}ko
for braces on separate line plebeans:
nnoremap mb o{}ko

Pajeet, go back to your designated street.

Nigger, fuck off.

oops, forgot about O.
nnoremap mb A {}Onnoremap mb o{}O

Even better, do an inoremap to do it without ESCing.
inoremap mb A {}O

ew.. don't enable those people.

There are words that start with kj in Icelandic, though. Yeah, I know, nobody uses it anyway.

It's fairly common in Dutch.
$ grep -c kj /usr/share/dict/dutch1689

That's better. I'd still rather recommend an auto-delimiter plugin like Lexima, it handles it much more sensibly. I never have to close parentheses.
github.com/cohama/lexima.vim

For HTML tags I use Ultisnips instead, its interpolation is much more suited for the complexity of HTML tags. The standard package of snippets has snippets for all of HTML tags as far as I can tell.
github.com/sirver/UltiSnips

And as a final touch, in order to make the delimiters (parentheses or tags) easier on the eye I use the Rainbow plugin:
github.com/luochen1990/rainbow

You have to learn how to use any sufficiently advanced tool, you tool, this includes IDEs.

Learning how to use Vim or Emacs isn't about memorizing docs, it's about getting a mental picture for their particular way of doing things so you can keep figuring it out on-the-go. You jump one hurdle and in exchange, you get highly consistent user experience where access to features is uniform and predictable--in Emacs' case, this even extends to users that prefer point and click interfaces, and how you control the editor is itself a plugged in feature that can be cleanly swapped out for people use to Vim, IBM CUA, etc.

I've met my fair share of neckbeards, but this is ten times worse. You are literally proud of being ignorant