ivy个人使用过程中槽点问题

2 重现不了,3 不懂。

1 的话如果你要从根目录开始找,可以自己包一个命令:

(defun counsel-find-file-from-root ()
  (interactive)
  (let ((default-directory ""))
    (call-interactively 'counsel-find-file)))

或者我想的另一种办法是定义一个一直执行 ivy-backward-delete-char 直到发生错误的命令,然后绑到 counsel-find-file-map 里面,这样可以一键清除已有路径,但是没有成功,给作者报了 issue,应该很快能得到回复。

服务器上一般screen+vim,掉线也不会出事。川普上去,掉线就麻烦了。

直接输入 C:/ 或者 D:/ 效果也差不多,真没人有这个需求

kindness, thx,我也关注下此issue

直接输入d:/ 就从c盘切换到d盘了,c-a用不到,直接输入 / /就返回到磁盘根目录了,我是用win7

2 个赞

你的意思是不是想输入你输入的,而不是补全的,这个ivy专门有一个命令,查查文档吧

ivy find-file 时路径这一块我也是深恶痛绝,搞得跟 helm 一个鸟样了,阻碍盲打了,方 法就是禁掉相关的功能:

(define-key counsel-mode-map [remap find-file] #'find-file)
(add-to-list 'ivy-completing-read-handlers-alist '(ibuffer-find-file . completing-read-default))
(add-to-list 'ivy-completing-read-handlers-alist '(find-file . completing-read-default))
(add-to-list 'ivy-completing-read-handlers-alist '(dired-create-directory . completing-read-default))
(add-to-list 'ivy-completing-read-handlers-alist '(dired-do-copy . completing-read-default))
(add-to-list 'ivy-completing-read-handlers-alist '(dired-do-rename . completing-read-default))
;; does not count candidates
(setq ivy-count-format "")

不要ivy的时候 M-x ivy-mode 关掉. 用好再打开?

我意思counsel M-x时候有像ido那种可以回滚到原始minibuf的编辑功能,这样就可以c-a, c-e,c-k等,现在counsel全面接管minibuf而且改不了路径为/plink://xxx,使用不远程的shell。 估计counsel不接管minibuf就没有 input->fileter->action->done这种逻辑了

设置这个变量为空也不行,看了下配置Counsel Find File At Point: Toggle off (nil)是off的 , 结果字符下 C-x C-f时还是 Select from query ‘passed’ (3 matches):

你说的都没问题, 但输入/plink:// 开头还是无法替换到最开头的 prompt, 也就是远程的路径还是无法输入

是一个规避方法,略显不优雅:grin:

建议先读读 ivy manual。

所有的路径都能直接切过去的,/, HOME, sudo, tramp,都可以直接过去。比如你可以 sudo::/etc/xxx。我觉得可以看下文档,里面应该都有写。

打扰,是要看文档,看了一遍文档, M-x 之后的minibuf都没有什么问题, 主要问题还是在 find-file 出现的minibuf(此是没有加载counsel仅启用ivy), 文件里描述find-file后出现的minibuf // 可以切换根目录, 打开tramp远程目录输入路径也没有问题,但此时输入shell(此时是要输入远程bash路径的),再输入远程目录 // 就跳到 windows操作系统的根 c:/ 而且c:/无法改变了, 所以在tramp目录上下文时再shell还是无法输入远程以 /开头的目录也就打不开远程bash了。

所以问题还是存在: 加载ivy后,find-file minibuf功能没有readline编辑功能,不像ido可以回滚。 find-file-at-point也是加载ivy后出现的,配置是off, 问题还不知道哪里 tramp目录下再打开 M-x shell 无法输入linux风格的/开头的路径

主要个人使用是问题暴露出来给大家看看,有时间再详细调试看下。

hx, 这里find-file配置还是有些效果,但tramp下再输入shell还是有问题 :frowning:

[update]: emacs -Q 仅仅加载ivy, find-file-at-point query问题不存在了。因此问题只有 tramp下再输入远程的路径(c:/根目录无法改的问题), 而find-file minibuf编辑问题,如果有ido那样回滚原来的minibuf功能就好了。(minibuf的编辑功能,个人觉得这就是个需求场景 )打扰。

[update]:

(setq file-name-at-point-functions nil) 解决find-file查询光标字符问题

tramp&shell, 使用 sh-show-shell 来打开远程bash而不是输入shell, (counsel (swiper (ivy)))目前使用一切都很好

用msys2啊, msys2支持 /c/msys2/home/… 样式的path.