vim.tiny reports 'E1187: Failed to source defaults.vim' on execution in default install

Bug #1968912 reported by M
22
This bug affects 5 people
Affects Status Importance Assigned to Milestone
vim (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Ubuntu 22.04

When running vim.tiny it says:

$ vim.tiny
E1187: Failed to source defaults.vim
Press ENTER or type command to continue

This is due to the defaults.vim file not being available. If you just run it as vi

$ vi

this message does not appear as vim.tiny runs in compatibility mode. I found mention of this issue in:
https://github.com/grml/grml-etc-core/issues/99

The defaults.vim file is provided by the package vim-runtime.

I'm unsure what the issue is, if something needs to be in /etc/vim/vimrc.tiny or a /etc/vim/vimrc needs to be provided dpkg claims vimrc is in vim-common, but no file is installed for me from that package, or if vim-runtime needs to be a required package for vim-tiny

$ dpkg -S /etc/vim/vimrc
vim-common: /etc/vim/vimrc
$ ls -al /etc/vim/vimrc
ls: cannot access '/etc/vim/vimrc': No such file or directory

I discovered this because my .selected-editor was vim.tiny after running crontab -e

$ crontab -e

Select an editor. To change later, run 'select-editor'.
  1. /bin/nano <---- easiest
  2. /usr/bin/vim.tiny
  3. /bin/ed

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: vim-tiny 2:8.2.3995-1ubuntu1
ProcVersionSignature: Ubuntu 5.15.0-1005.5-raspi 5.15.30
Uname: Linux 5.15.0-1005-raspi aarch64
ApportVersion: 2.20.11-0ubuntu81
Architecture: arm64
CasperMD5CheckResult: unknown
Date: Wed Apr 13 11:56:35 2022
ImageMediaBuild: 20201022
ProcEnviron:
 TERM=screen
 PATH=(custom, no user)
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
SourcePackage: vim
UpgradeStatus: Upgraded to jammy on 2022-04-09 (4 days ago)

Revision history for this message
M (mbest) wrote :
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote (last edit ):

I also noticed this by launching "view /var/log/installer/syslog" on a freshly installed Ubuntu desktop system.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

It seems that view, as provided by vim.tiny now attempts to load defaults.vim, which is shipped in the large vim-runtime package. All vims depend on vim-common. It would seem to me that we should move defaults.vim from vim-runtime to vim-common.

tags: added: rls-jj-incoming
Changed in vim (Ubuntu):
importance: Undecided → Low
tags: added: rls-jj-notfixing
removed: rls-jj-incoming
Revision history for this message
Brian Murray (brian-murray) wrote (last edit ):

There was a question about whether or not this error prevents non-interactive vim from working, the answer is no.

ubuntu@ubuntu:~$ view /var/log/syslog
E1187: Failed to source defaults.vim
Press ENTER or type command to continue
ubuntu@ubuntu:/tmp$ cat junk.txt
abc
ubuntu@ubuntu:/tmp$ vi -c "%s/abc/ABC" -c ":xa" junk.txt
ubuntu@ubuntu:/tmp$ cat junk.txt
ABC

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in vim (Ubuntu):
status: New → Confirmed
Revision history for this message
Tomofumi (tomofumi) wrote :

From strace this program try to load defaults.vim at:

newfstatat(AT_FDCWD, "/usr/share/vim/vim82/defaults.vim", 0x7ffc82a2fd90, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/vim/vim82/defaults.vim", O_RDONLY) = -1 ENOENT (No such file or directory)

So a quick fix would be:
$ sudo touch /usr/share/vim/vim82/defaults.vim

Until someone helps to fix this package permanently.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.