Open WJCFerguson opened 6 years ago
I don't think there is much that can be done here. counsel does not check the existence of every file but uses read-file-name-internal
which grabs all files at once. When I open a directory of 2000 files over tramp with counsel-find-file
it takes about 3 seconds.
Or use remotely installed fzf
and be happy if possible. Other than that, this ticket can be closed I believe.
Actually, you can also use counsel-file-jump
and it should be faster because it uses find
internally.
Here's what Ivy uses to produce a list of files:
(all-completions "" 'read-file-name-internal)
This works on remote via TRAMP as well. This is a combination of two built-in functions, not related to Ivy. If someone can propose a way to speed this up, I'd be willing to test and integrate it.
I'm looking for help making ivy usable over high-latency connections. I would be sad to have to disable it.
When trying to run
find-file
over a high latency Tramp connection each file is checked for existence separately, meaning in a directory with a lot of files, getting a prompt takes many seconds (in my case, 200 files in a directory => 10s).I confirmed that
emacs -Q
with tab completion gives near instant response and doesn't quiz individually for file existence. Loading ivy into that pristineemacs -Q
gives the 10s response time, so I don't think it's my config.Is there a way to avoid this?
Thanks
From tramp debug log with
tramp-verbose
set to 9 (real pathname substituted):