简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
1.前言
本篇目的:在Emacs中,使用插件counsel在dired-mode模式下使用counsel-find-file报错,解决分享之!!!
操作系统:Ubuntu22.04
2.Emacs之counsel插件介绍
- Emacs 是一个高度可定制的文本编辑器,拥有众多强大的插件,其中之一就是 Counsel。Counsel 是一个改进 Emacs 搜索和导航功能的插件,它基于 Ivy,提供了一种更快速、更灵活的方式来访问 Emacs 的各种功能和文件。
- Counsel 的主要功能之一是提供增强的 M-x 命令提示符。M-x 命令是 Emacs 中用于运行命令的方式,Counsel 通过自动补全和模糊匹配,使得查找和运行命令变得更加高效。用户只需输入命令的一部分,Counsel 就会显示匹配的命令列表,用户可以从中选择所需的命令。
- Counsel 还提供了改进的缓冲区切换功能。在 Emacs 中,缓冲区是编辑器中打开的文件或窗口的内部表示。Counsel 允许用户通过 Ivy 的自动补全和模糊匹配来快速切换到所需的缓冲区。用户只需输入缓冲区的名称或内容的一部分,Counsel 就会显示匹配的缓冲区列表,用户可以从中选择所需的缓冲区。
- 除了上述功能,Counsel 还提供了许多其他有用的功能,如查找文件、搜索项目、查找单词定义等。这些功能都利用了 Ivy 的自动补全和模糊匹配特性,使得用户能够更快地找到所需的内容。
- Counsel 还可以与其他 Emacs 插件集成,以提供更强大的功能。例如,Counsel 可以与 Projectile 插件集成,提供项目搜索功能。Projectile 是一个用于管理项目资源的插件,Counsel 与其集成后,用户可以在项目中快速搜索文件、符号等。
- Counsel 是一个功能强大且灵活的 Emacs 插件,它通过自动补全和模糊匹配,提供了一种更快速、更高效的方式来访问 Emacs 的各种功能和文件。无论你是 Emacs 的新手还是经验丰富的用户,Counsel 都能帮助你更高效地使用 Emacs。
3.解决方案
- counsel.el
- 原始代码:
(defun counsel-find-file (&optional initial-input initial-directory)
"Forward to `find-file'.
When INITIAL-INPUT is non-nil, use it in the minibuffer during completion."
(interactive)
(defvar tramp-archive-enabled)
(let ((tramp-archive-enabled nil)
(default-directory (or initial-directory default-directory))
)
(counsel--find-file-1 "Find file: " initial-input
#'counsel-find-file-action
'counsel-find-file))
)
修改为:
(defun counsel-find-file (&optional initial-input initial-directory)
"Forward to `find-file'.
When INITIAL-INPUT is non-nil, use it in the minibuffer during completion."
(interactive)
(defvar tramp-archive-enabled)
(let ((tramp-archive-enabled nil)
(default-directory (or initial-directory
(if (eq major-mode 'dired-mode)
(dired-current-directory)
(file-name-directory (or (buffer-file-name) default-directory)))))
)
(counsel--find-file-1 "Find file: " initial-input
#'counsel-find-file-action
'counsel-find-file))
)
文章评论