Skip to content

Vim is not available as external editor on windows #1316

Open
@ShrykeWindgrace

Description

@ShrykeWindgrace

Thanks for gitui, it makes my daily life easier=)

There is, however, one thing that seems break my current flow - I can not launch vim from within gitui.

Describe the bug
Vim is not available as external editor

To Reproduce
Steps to reproduce the behavior:

  1. Navigate to a repo with modified files, run gitui
  2. Chose a file with modifications
  3. Hit 'e' button to edit this file
  4. A "popup" appears:
failed to launch editor:
"vim": program not found

Same bug observed when trying to '^e'dit commit message in external editor.

Expected behavior
A vim instance with selected file loaded.

Context (please complete the following information):

  • OS/Distro + Version: win10 (build 21H2-19044.1889)
  • GitUI Version 0.21.0
  • Running in WindowsTerminal and pwsh-7.2.6
  • both vim and gitui are installed via chocolatey

Additional context
vim is present in path:

PS1> where.exe vim
C:\Windows\vim.bat

and git is configured to use vim

git config  -l | rg editor
core.editor=vim

Activity

extrawurst

extrawurst commented on Sep 18, 2022

@extrawurst
Collaborator

need windows user support for this

ShrykeWindgrace

ShrykeWindgrace commented on Sep 20, 2022

@ShrykeWindgrace
Author

I did a bit of digging

  • "real" vim in my $PATH is, in fact, a bat script:
PS> (Get-Command vim).Name
vim.bat

I see the following solutions:

  • (workaround) explicitly provide extension; might lead to bugs if one uses git's config in a cross-platform (or cross-installation) manner (that's my case, unfortunately)
  • fix behavior of the library responsible for running external commands; that would be waaaay out of my depth, I can't write a helloworld in rust
  • bikeshed a test in gitui "if the editor command has no extension and we are on windows, then try with the extensions form that env var..."
  • some other option I might have missed?
ShrykeWindgrace

ShrykeWindgrace commented on Sep 20, 2022

@ShrykeWindgrace
Author

Aha, it appears that things are not that easy upstream...

rust-lang/rust#37519

https://doc.rust-lang.org/src/std/process.rs.html#540-543

rust-lang/rust#37381

... and all the way down the rabbit whole...

metasong

metasong commented on Nov 28, 2022

@metasong

vs code is also not usable because of this.
I have mine editor in git config:

git config -l|?{$_ -like '*edit*'}
core.editor=code --wait

and

gcm code

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     code.cmd                                           0.0.0.0    C:\Program Files\Microsoft VS Code\bin\code.cmd
pm100

pm100 commented on Apr 8, 2023

@pm100
Contributor

investigating this.

  • the issue is trying to run a command script (.bat or .cmd) but only giving the root name - vim, code etc.
  • works fine with vim.bat or code.cmd
  • not an issue with gitui, a simple 5 line test prog has the same issue
  • importantly git on windows works with editor set to 'vim'. So this is a backwards step as far as a regular git user on windows is concerned

Thr std::Process code is really very broken, making all sorts of odd assumptions trying to make things work 'by magic'. I will file a bug but dont hold your breath.

I think I can come up with a solution - will update here

stale

stale commented on Oct 15, 2023

@stale

This issue has been automatically marked as stale because it has not had any activity half a year. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

mcmoodoo

mcmoodoo commented on Oct 15, 2024

@mcmoodoo

what about vim bindings in gitui? do they exist and just not enabled by default? I mean like to move up/down (j/k). Otherwise I will gladly look into implementing this as a feature. Let me know please.

I am on Linux btw.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdormantMarked by stale bot on closegood first issueGood for newcomershelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @pm100@extrawurst@metasong@ShrykeWindgrace@mcmoodoo

      Issue actions

        Vim is not available as external editor on windows · Issue #1316 · gitui-org/gitui