vifm / vifm.vim

Vim plugin that allows use of vifm as a file picker
325 stars 18 forks source link

EditVifm command doesn't show files #45

Closed jonmwood closed 3 years ago

jonmwood commented 4 years ago

Hi, I've been following several tutorials to install vifm as I'm a newbie to Vim, but when I run the :EditVifm command with and without ~, no files or errors appear, it's just a quick flash of the screen and then shows the blank file again. Am I missing a configuration somewhere? Does this have to do with setting a certain path or environment variable somewhere? I didn't see others do that in the tutorials I followed. Thanks in advance!

Before entering the command

image

After entering the command

image
xaizek commented 4 years ago

Hello.

You should at least get an error message. Try running :messages after :EditVifm, maybe it gets erased from the screen.

Can you run vifm in terminal without issues? Also check that versions of vifm and the plugin aren't very old (they might not work together when one is much older than the other).

flimofly commented 4 years ago

I have the same issue. No luck with the :messages, unfortunately.

xaizek commented 4 years ago

What about versions and is it Vim or neovim?

flimofly commented 4 years ago

Vim 8.2 (MacVim) vifm version 0.10.1

xaizek commented 4 years ago

Please pick up latest changes from the master and see if any error messages appear now (check :messages too).

ChrisGitIt commented 3 years ago

Hi all,

it seems I have the same problem. I could make some further investigations and it seems there is a difference between the console MacVim (mvim) and the GUI MacVim.

When i start MacVim from console (mvim), everything is working as expected. But starting MacVim by, for example, opening files from Mac Finder => Starting MacVim => VIFM Startup results in Exit Code 1.

Here is what i tried so far:

Any hint how to further debug?

Bye the way: :messages output: Error "function VifmExitCb[14]..60_HandleRunResults": Line 2: Got non-zero code from vifm: 1

Any feedback is greatly appreciate!

Greets,

Chris

xaizek commented 3 years ago

Hello Chris,

you could try adding echomsg options before

                keepalt let buf = term_start(['/bin/sh', '-c', termcmd], options)

and then posting relevant line from :messages. Your description and what you have tried suggests that $TERM might be empty while it's assumed (probably incorrectly) to not be empty in GUI Vim.

ChrisGitIt commented 3 years ago

Hi xaizek,

thanks for your feedback and tips. I have added -- echomsg term_start

Here is the output: {'curwin': 1, 'env': {'TERM': ''}, 'exit_cb': function('VifmExitCb', [{'split': 1, 'cwdjob': 0, 'listf': '/var/folders/gk/xncxfgw55nb5fdfzy4nll8q00000gn/T/vrdeWeW/3', 'typef': '/var/folders/gk/xncxfgw55nb5fdfzy4nll8q00000gn/T/vrdeWeW/4', 'editcmd': 'vsplit'}]), 'term_name': 'vifm: vsplit'}

And for comparison, a output of a working call {'curwin': 1, 'env': {'TERM': 'xterm-256color'}, 'exit_cb': function('VifmExitCb', [{'split': 1, 'cwdjob': 0, 'listf': '/var/folders/gk/xncxfgw55nb5fdfzy4nll8q00000gn/T/vilcZsF/3', 'typef': '/var/folders/gk/xncxfgw55nb5fdfzy4nll8q00000gn/T/vilcZsF/4', 'editcmd': 'vsplit'}]), 'term_name': 'vifm: vsplit'}

As you have guessed, the terminal does not seem to exists. I tried: :let $TERM='xterm-256color' in vim as mentioned here: https://github.com/macvim-dev/macvim/issues/879

This seem to do the trick. Do you know if I can set this variable in vimrc or .vifmrc by config? Could not find a way to automatically set this value.

Thanks for your help so far!

Greets,

Chris

xaizek commented 3 years ago

Do you know if I can set this variable in vimrc or .vifmrc by config?

Yes, you can if you wish. However, plugin now handles empty $TERM. Thanks for helping to resolve this!

ChrisGitIt commented 3 years ago

@xaizek: Thank YOU for your support. I just saw this issue several times and it seems to be associated with many GUIs for vim. Hopefully this problem gets resolved for all of them. Bye the way: Great Software. Took me a long way to get here, but finally everything falls into place with a good file manager (and integration).