On Tue, 13 Oct 2020 at 16:14, Zdenek Dohnal <zdohnal@xxxxxxxxxx> wrote: > > On 10/13/20 12:34 PM, Jonathan Wakely wrote: > > On 13/10/20 07:45 +0200, Zdenek Dohnal wrote: > >> > >> On 10/12/20 5:15 PM, Joe Doss wrote: > >>> On 10/12/20 1:50 AM, Zdenek Dohnal wrote: > >>>> This would break using Vim when vim-minimal and vim-enhanced are > >>>> installed (it would start Vi instead of typed Vim). To make it work, > >>>> vim-minimal would have to conflict with vim-enhanced, which doesn't > >>>> make > >>>> sense - Vi and Vim binaries can exist together just fine. > >>> > >>> I have vim-enhanced and vim-minimal installed > >>> > >>> # rpm -qa |grep vim > >>> vim-common-8.2.1770-1.fc33.x86_64 > >>> vim-filesystem-8.2.1770-1.fc33.noarch > >>> vim-minimal-8.2.1770-1.fc33.x86_64 > >>> vim-enhanced-8.2.1770-1.fc33.x86_64 > >>> > >>> and when I type vi it launches vim. > >> I'm sorry I forgot about this alias - yes, there is an alias which is > >> applied when both - vim-minimal and vim-enhanced - are installed so it > >> launches 'vim' when you type 'vi'. I would say less people will complain > >> if something has more features than if it has less, so I'm content with > >> this alias. > >>> > >>> # whereis vi > >>> vi: /usr/bin/vi /usr/share/man/man1p/vi.1p.gz > >>> /usr/share/man/man1/vi.1.gz > >>> # /usr/bin/vi --version > >>> VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 29 2020 00:00:00) > >>> > >>> It doesn't look like these are existing together just fine. It seems > >>> that vim takes over vi. Shouldn't these conflict and only one can be > >>> installed over the other? > >> 'Vi' as the original project is no longer (I'm not sure for how long) > >> shipped in Fedora. 'Vi' we ship is just 'VIM' compiled with 'small' set > >> of features (f.e. without syntax highlighting) to mimic the original > >> 'Vi'. So if you run 'vi --version' it always shows 'VIM'. > >>> > >>>> In the end I find it incorrect to mislead users by default by telling > >>>> them 'Vim works' but Vi is run instead - Vi and Vim don't have the > >>>> same > >>>> set of features, which may lead into bug reports caused by this > >>>> mistake. > >>> > >>> Isn't that the reverse behavior detailed above? I type vi on Fedora > >>> Workstation it launches vim? I assume this isn't causing bug reports. > >> You're right, as I wrote above - aliasing vi->vim doesn't seem as a > >> problem to me, but aliasing vim->vi as clime suggested can cause mislead > >> for users. > > > > I would also appreciate if "vim" ran the executable installed by > > vim-minimal. I frequently type "vim" on servers I don't own and then > > grumble that it fails and I have to run "vi" instead. It **is** vim, > > it's just not installed with that name. Insisting that users call it > > vi when we know it's vim and they know it's vim seems unnecessary. > > It's Vim but with a different set of features - VIM compiled as Vi > binary is trying to be small, kind of simulate Vi behavior without > setting 'compatible'. > > Since you know it has less features, good for you. But unfortunately, > not all users know - there was already a report about Vim missing > highlighting, and the reporter was running /usr/bin/vi. So my aim is to > prevent such a report. > > > > > $ rpm -qf /usr/bin/vi > > vim-minimal-8.2.1770-1.fc32.x86_64 > > > > Could vim-minimal and vim-enhanced both install the same > > /etc/profile.d/vim.sh file that did something like this? > Installing the same file would mean to set conflicts between those two > package, wouldn't it? Or would you mind explaining how to achieve it? > > > > if [ -n "${BASH_VERSION-}" -o -n "${KSH_VERSION-}" -o -n > > "${ZSH_VERSION-}" ]; then > > [ "`/usr/bin/id -u 2>/dev/null || echo 0`" -le 200 ] && return > > # for bash and and ksh and zsh > > case "$(type -t vim)-$(type -t vi)" in > > file-file) > > # both vim and vi are present > > alias vi=vim > > alias view="vim -R" > > ;; > > -file) > > # only vim-minimal is installed, expose it as 'vim' too > > alias vim=vi > > ;; > > esac > > fi > > > Looks good, although it doesn't touch the problem mistaking Vi and Vim > as I said before. I tried to come up with a little bash script which > will mention it really runs vi instead of typed vim (just the important > snippet): > > alias vim="read -rep $'No vim found, using vi, press ENTER to > continue\n' -n1 -t 20 -s && vi" This is OK. Thanks for considering clime > > This can be add into bash profile instead of 'alias vim=vi' when only > vim-minimal is installed. > > Does it work for our case? IMO only problem would be with scripting, but > scripts which depend on vim and run on machine without vim-enhanced are > broken even now, so it shouldn't be a problem here. > > -- > Zdenek Dohnal > Software Engineer > Red Hat Czech - Brno TPB-C > > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx