This is documented under :help map-error:
Note that when an error is encountered (that causes an error message or beep)
the rest of the mapping is not executed. This is Vi-compatible.
Regarding this part of your question:
2) In the case of the above answer, the error is invisible: if i press up in the first line in vim, theres no notification of an ...
There are limitations in things you can do in a function called from a map-expression.
From the docs:
Be very careful about side effects! The expression is evaluated while
obtaining characters, you may very well make the command dysfunctional.
For this reason the following is blocked:
- Changing the buffer text |textlock|.
- Editing another buffer.
- The |...
One option would be not to include the h in the mapping if you're on the first column:
onoremap <expr> a$ col('.') == 1 ? "f$" : ":<C-U>normal! hEF$v,<CR>"
N.B. I'm not 100% clear on how you want the mapping to behave if run when the cursor is not between a pair of $ signs. Some tweaks to the above may be necessary.
The problem is with the = in your command. It's being taken as part of the expansion for the mapping.
That's triggering the = command, which typically reformats a block of code. Since you have a space after the =, that's being swallowed as the "motion" for = (which is roughly equivalent to the motion of going right one character.)
I guess this reformatting ...
The .vim/plugin directory is not where you want to unpack your plug-ins! (Yes, I known the name would suggest so...)
If you want to use Vim 8 packages (which I believe you do), then you should unpack it under a directory named ~/.vim/pack/*/start, where the component after pack can be named anything (suggestions are bundle, vendor or your username.)
Being a beginner of VIM it may be tempting to install plugin candy, but caution is in place.
With Pathogen, plugins get installed in ~/vim/bundle
First thing I tried is to zip all the plugins and delete their originals. This quick dirty step already fixed the main issue. My first assumption was the Syntastic plugin.
Looking up this plugin and the toggle I ...
Your problem is in Python code, importing a Python module.
This is a Python stack trace:
Traceback (most recent call last):
File "<string>", line 2, in <module>
ImportError: No module named six
You need to install the Python six module in your machine, in order to get past this error.
There are quite a few ways to install Python modules on ...
For me, this problem keeps showing up even if I delete the ~/.viminfo file - not right away, but a couple of days later.
I just noticed there's a way to skip using the viminfo file entirely, as detailed here:
In summary, put the following in your ~/.vimrc