Project

General

Profile

Feature #6986

Making vim be more comfortable to use

Added by Denys Rtveliashvili over 3 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
OI-Userland
Target version:
-
Start date:
2016-05-20
Due date:
% Done:

0%

Estimated time:
Difficulty:
Bite-size
Tags:
needs-triage

Description

I suggest enabling syntax highlighting and non-compatible mode in VIM by default.

There seem to be no reason not to.

1. Both of these options improve the way vim works.
2. Syntax highlighting provides additional visual aid.
3. Non-compatible mode in VIM is the one assumed in the VIM manual and is enabled by default in many Linux distributions.

There seem to be no downside in doing the change.

The simpliest way of enabling these two features system-wide is by creating a file called /usr/share/vim/vimrc with the following two lines:

syntax on
set nocompatible

History

#1

Updated by Aurélien Larcher over 3 years ago

At least it should be documented that vim behaves as intended by its authors and not as enforced by debian.vim.
But I think that you are right in suggesting that "vim" should start in non-compatible mode by default.
For "vi" it is debatable.

#2

Updated by Denys Rtveliashvili over 3 years ago

According to VIM manual here (http://vimdoc.sourceforge.net/vimum.html):

Don't forget that the user manual assumes you Vim in a certain way.
After installing Vim, follow the instructions at |not-compatible| to make Vim work as assumed in this manual.

So the manual assumes one would be using it in a non-compatible way by default.

#3

Updated by Aurélien Larcher over 3 years ago

But the documentation describes the default behaviour as compatible if no .vimrc exists.

#4

Updated by Denys Rtveliashvili over 3 years ago

OK. Facts:

1. It says that the whole guide assumes you are using the editor in non-compatible mode.

2. It says that as soon as you create a configuration file (even an empty one) it changes to non-compatible automatically.

3. Lots of operating systems configure vim to run in non-compatible way by default and that works just fine. OI is in a minority.

4. The reason why OI is in a minority is called FUD. People are afraid that VIM mode is somehow bad but a) they never tried it b) they often use Emacs because really "vi" is an unusable torture.

I am not even sure why I have invested my time into investigating this.
Perhaps because I though that the broken environment is in fact broken and not a "rock solid Solaris"?

Maybe it is OK that when you are in an "edit" mode and press left arrow your cursor jumps up and types "D"?
Is that what people are missing?
Or perhaps pressing "Del" in the same "edit" mode changing the character on the left to uppercase and kicking out from edit mode? Very useful feature indeed.

Are people at all aware that plain old bash is broken? When properly configured you can use ctrl-Left / ctrl-Right as well as a bunch of other keys to navigate. And autocomplete works. So that you do not need to type "git commit" you just type "git com" and press TAB. And it is done. Similarly with every single command in existance.
Instead, people are accustomed to wasting their own time and being proud of it.

"Civilization advances by extending the number of important operations which we can perform without thinking about them."
Alfred North Whitehead

#5

Updated by Aurélien Larcher over 3 years ago

This is a discussion, no need to use strong words...

Only one person complained and we otherwise agreed that "vim" should start in not-compatible mode with syntax on.

Bash auto-completion is a separate package and has nothing to do with vanilla bash, if you install it then you should get the additional features that you want.

You are mixing two things...
There is a point in delivering vanilla packages (like most BSDs btw) and, except if bugs are present, they behave as intended by default by their authors.
You can argue that we could/should deliver configuration files that make life easier but do not confuse the software's default behaviour and the tweaks provided by distributions.

Truth is most people I know using "vim", touch ~/.vimrc, add their favorite tweaks and do not mind too much...

So can we agree that:
- "vim" should start in no-compatible mode,
- a file with comfortable defaults should be delivered in an optional package or even in a facet ?

Now you know.. I am contributing in my spare time, I am happy to discuss and try to improve things, but I am usually not so keen on lack of courtesy... like calling names on the entire group although only one person complained vehemently.

#6

Updated by Denys Rtveliashvili over 3 years ago

I am not sure what strong words do you mean precisely.
And I am not calling names, unless I am missing something.

When I created this ticket initially I did it because I saw that the existing behavior is counterproductive. So I thought of improving OI by changing that.

However, I see that doing it in the way which would satisfy the majority ("vim" runs in modern mode and "vi" runs in compatible mode) or any variations of that is going to take much time. Much more time that I am happy to spend. And certainly orders of magnitude more than creating a file with settings for myself.

In addition to that, doing this change would not benefit me at all. I am not interested in "vi" acting like the antique "vi" while "vim" acting the way it should. I am admittedly too lazy to type "vim" instead of the usual "vi", which I did for the last 10-15 years.

Furthermore, as it is not clear if I will be using OpenIndiana for real due to a very likely incompatibility with modern hardware, my incentives for improving it are somewhat small.

Therefore, I am closing this ticket.

#7

Updated by Nikola M. over 3 years ago

I certainly appreciate bug reporter reporting a bug and everything said. Thank you for reporting a bug. :)

This should be no discussion, actually (even smallish of it is always there), but discussed on mailing list(s).
Bug reports tend to be bit shorter. :)
I see no strong words actually and I don't like the tone of "only one person" type of the answer and turning tide against poster itself for no reason, Bug reports tend to stay there a long time available so it goes both ways.

Original poster is allowed to describe it's bug in detail and it's up to the others to see weither to do something about it.

2. It says that as soon as you create a configuration file (even an empty one) it changes to non-compatible automatically.

It is true that we have default behaviour of upstream and 'everyone' using it/used to do touch ~/.vimrc , too.
There is also no 'FUD' here by default but having default app behaviour (like it is what defaults used to be before OI) and truly nice to separate upstream app behaviour from distro defaults.

I think this should be posted more widely, (like decisions need consulting others!) like on illumos mailing lists and on openindiana-discuss for more people to provide input - if there is a reason to have original 'vi' behaviour there still.
I have no strong opinions on this, since I know about .vimrc , If there are no reasons to keep old behaviour (even seems logical to differ when calling vi and not vim as upstream described), then ok.

Feel free to post more bugs/RFEs :)

#8

Updated by Aurélien Larcher almost 2 years ago

  • Status changed from New to Closed

We follow Vim 8 default behaviour. Any default configuration files could be provided additionally.

Also available in: Atom PDF