Working around suse.vimrc


I use the command-line editor Vim. And, when I switched to openSuSE, I was stuck with a bunch of default Vim options I didn't like. For example, pressing Esc takes a second to work where doing the same thing on Manjaro worked immediately. Using the :scriptnames Vim command, I could see that $VIMRUNTIME/suse.vimrc was being run. But it wasn't clear how to disable it. I assume that any updates to the package would overwrite any changes made directly to suse.vimrc


I contacted a SuSE developer and asked about this. I was told that suse.vimrc was hardcoded into Vim's initialization via a patch. And I should open a bug to get suse.vimrc fixed. But, when I looked, there were already some bugs open. And they were a few years old.


So, I decided to switch to Flatpak instead. The Flatpak won't reference suse.vimrc And the bothersome options should go away.


I'm using PowerShell. So, I'll need a Flatpak alias there.



Remove Vim RPM


Let me uninstall the Vim RPMs.


sudo zypper remove vim gvim vim-data vim-data-common

Reading installed packages...
Resolving package dependencies...

The following 4 packages are going to be REMOVED:
  gvim vim vim-data vim-data-common

4 packages to remove.
After the operation, 45.3 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): 
(1/4) Removing gvim-9.1.0000-1.1.x86_64 ..................................[done]
(2/4) Removing vim-9.1.0000-1.1.x86_64 ...................................[done]
(3/4) Removing vim-data-9.1.0000-1.1.noarch ..............................[done]
(4/4) Removing vim-data-common-9.1.0000-1.1.noarch .......................[done]
Running post-transaction scripts .........................................[done]



Install Vim Flatpak


Let's install the Vim Flatpak.


sudo flatpak install flathub org.vim.Vim  

Looking for matches…

org.vim.Vim permissions:
    ipc                   network       x11       file access [1]
    dbus access [2]

    [1] /tmp, /var/tmp, host
    [2] org.freedesktop.Flatpak


        ID               Branch      Op      Remote       Download
 1. [✓] org.vim.Vim      stable      i       flathub      9.3 MB / 14.8 MB

Installation complete.



Create PowerShell Alias


The PowerShell alias is a bit of a pain.


Function vim { /usr/bin/flatpak run org.vim.Vim @Args }


Remember, you need an alias in your shell or you have to type the full Flatpak command each time.


In PowerShell, you cannot create an alias with parameters as you can in Bash, Zsh, and Fish. Instead, you have to use a function. Then, the function won't pass parameters through to Vim. So, you have to include @Args. The PowerShell documentation doesn't give a complete example in one place. And, I had to bounce around before I collected the necessary pieces.


Place the function in your PowerShell profile or run it once at the command line. Then you can call Vim with parameters (vim -p *.txt), and that should work.



Remove Flatpak


If you want to remove the Flatpak in the future, you can use this command.


sudo flatpak uninstall org.vim.Vim        

        ID               Branch      Op
 1. [-] org.vim.Vim      stable      r

Uninstall complete.



References


How to install Flatpak applications from Flathub | PragmaticLinux

Example 5: Create an alias for a command with parameters | Microsoft Learn

Using @Args to Pass Parameters | Microsoft Learn

PowerShell Profiles | Microsoft Learn


Created: Thursday, January 18, 2024

Updated: Thursday, January 18, 2024




/gemlog/