简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🍉🍉🍉文章目录🍉🍉🍉
🌻1.前言
本篇目的:当我在emacs中使用counsel执行C-x C-f时,总是显示固定的目录路径,修改此bug。
🌻2.Emacs之C-x C-f命令介绍
- Emacs是一款功能强大的文本编辑器,它拥有丰富的命令和快捷键,可以帮助用户高效地进行文本编辑。在Emacs中,C-x C-f是一个非常重要的命令,它用于打开或创建一个文件。
- C-x C-f是Emacs中的一个快捷键,其中C代表Ctrl键,x和f分别代表键盘上的x和f键。在使用C-x C-f命令时,首先需要按住Ctrl键,然后依次按下x和f键。这时,Emacs会在屏幕底部显示一个提示符,等待用户输入文件名。
- 当用户输入文件名并按下回车键后,Emacs会尝试打开或创建该文件。如果文件已经存在,Emacs会将文件内容加载到编辑器中,让用户进行编辑。如果文件不存在,Emacs会创建一个新文件,并将其显示在编辑器中。此时,用户可以开始输入文本内容。
- C-x C-f命令不仅可以打开或创建单个文件,还可以打开或创建多个文件。当用户需要打开多个文件时,可以在输入文件名时使用空格分隔不同的文件名。例如,如果用户想要同时打开file1.txt和file2.txt两个文件,可以在提示符下输入"file1.txt file2.txt",然后按下回车键。Emacs会打开这两个文件,并将它们显示在编辑器的不同窗口中。
- 除了打开或创建文件外,C-x C-f命令还可以用于打开或创建远程文件。当用户需要编辑一个位于远程服务器上的文件时,可以在提示符下输入文件的远程路径,例如"/ssh:user@remote-server:/path/to/file"。Emacs会通过SSH协议连接到远程服务器,并打开或创建指定的文件。
- C-x C-f命令还可以用于打开或创建目录。当用户输入一个目录名并按下回车键时,Emacs会打开该目录,并在编辑器中显示目录下的文件列表。此时,用户可以选择其中一个文件进行编辑,或者继续使用C-x C-f命令打开或创建其他文件。
- C-x C-f是Emacs中一个非常重要的命令,它用于打开或创建文件。通过使用C-x C-f命令,用户可以高效地进行文本编辑,同时还可以打开或创建远程文件和目录。掌握C-x C-f命令的使用,可以提高Emacs的使用效率,使文本编辑工作更加便捷。
🌻3.解决方案
🐓3.1 修改代码
- 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 (file-name-directory (buffer-file-name)))
)
(counsel--find-file-1 "Find file: " initial-input
#'counsel-find-file-action
'counsel-find-file))
)