Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 从.emacs访问所需文件_File_Emacs_Input_Require - Fatal编程技术网

File 从.emacs访问所需文件

File 从.emacs访问所需文件,file,emacs,input,require,File,Emacs,Input,Require,是否可以访问所述文件,如: (require 'key-chord) 当点击“键和弦”(或点击以外的其他输入)时,您会访问该文件 编辑:假设我们要访问文件“key chord.el”定位库告诉您文件名,然后查找文件在缓冲区中打开文件进行编辑。(如果只想检查文件,可能需要以只读方式查找文件。) 您可以将其转换为函数,如下所示: (defun find-locate-library (lib) "Visit the source for library LIB in a buffer.

是否可以访问所述文件,如:

    (require 'key-chord)
当点击“键和弦”(或点击以外的其他输入)时,您会访问该文件


编辑:假设我们要访问文件“key chord.el”

定位库
告诉您文件名,然后
查找文件
在缓冲区中打开文件进行编辑。(如果只想检查文件,可能需要
以只读方式查找文件。)

您可以将其转换为函数,如下所示:

(defun find-locate-library (lib)
  "Visit the source for library LIB in a buffer."
  (let ((location (locate-library (concat lib ".el") t)))
    (if location
      (find-file location)
     (message "Could not find library %s" lib)) ))
如何将其连接到查看或编辑缓冲区是一个单独的主题。我想您可以修改Elisp模式,使库名称可单击,但我无法立即告诉如何做到这一点


感谢@Deokhwan Kim建议将搜索范围限制为“.el”文件。

locate library
告诉您文件名,然后
find file
在缓冲区中打开文件进行编辑。(如果只想检查文件,可能需要
以只读方式查找文件。)

您可以将其转换为函数,如下所示:

(defun find-locate-library (lib)
  "Visit the source for library LIB in a buffer."
  (let ((location (locate-library (concat lib ".el") t)))
    (if location
      (find-file location)
     (message "Could not find library %s" lib)) ))
如何将其连接到查看或编辑缓冲区是一个单独的主题。我想您可以修改Elisp模式,使库名称可单击,但我无法立即告诉如何做到这一点


感谢@Deokhwan Kim提出的将搜索限制为“.el”文件的建议。

将光标放在需要的任何位置,例如“键和弦”中的“k”,然后执行
M-x ffap RET
ffap
在点
查找文件的别名,至少在lisp模式下,它可以理解
要求
。我将
ffap
绑定到
C-xf
,因为我很少使用该键的默认绑定


某些Emacs安装没有.el文件(只有.elc文件)。在Debian/Ubuntu中,您需要安装一个单独的软件包来获取它们(emacs版本el,IIRC)。

将光标放在需要的任何东西上,例如“键弦”中的“k”,然后执行
M-x ffap RET
ffap
在点
查找文件的别名,至少在lisp模式下,它可以理解
要求
。我将
ffap
绑定到
C-xf
,因为我很少使用该键的默认绑定

某些Emacs安装没有.el文件(只有.elc文件)。在Debian/Ubuntu中,您需要安装一个单独的软件包来获取它们(emacs版本el,IIRC)。

M-x
find library
RET会提示您输入库的名称,然后访问该文件

使用有效库名称上的点调用它将使其成为默认提示值

require
语句中的任意位置用point调用它也会做正确的事情

我经常使用
find library
,并将其绑定到C-hC-l以方便使用。

M-x
find library
RET会提示您输入库的名称,然后访问该文件

使用有效库名称上的点调用它将使其成为默认提示值

require
语句中的任意位置用point调用它也会做正确的事情


我经常使用
查找库
,并将其绑定到C-hC-l以方便使用。

你的问题没有多大意义。我试了好几次才理解它,但我想你是在寻求一种方法来查看
(require'X)
中X的源文件?但为了让它更广泛,我想如果它找不到X.el,它确实应该访问函数X的文件。你的问题没有多大意义。我试了好几次才理解它,但我想你是在寻求一种方法来查看X在
(require'X)
中的任何一个源文件?但为了让它成为一个更广泛的问题,我想如果它没有找到X.el,它确实应该访问函数X的文件。
(查找文件(定位库(concat“key chord”“.el”)t))
会更好一些,以确保访问
.el
而不是
.elc
。我问的问题不同。我想在缓冲区中打开“键和弦”进行编辑。很抱歉给你带来困惑。对我来说很有用;这不适合你吗@Deokhwan Kim的建议是一个很好的改进。
(查找文件(定位库(concat“key chord.el”)t))
会更好一些,以确保访问
.el
而不是
.elc
。我问的问题不同。我想在缓冲区中打开“键和弦”进行编辑。很抱歉给你带来困惑。对我来说很有用;这不适合你吗@Deokhwan Kim的建议是一个很好的改进。我将它记录为一个宏,调用M-x ffap RET RET,然后将它绑定到建议的C-x fI,将它记录为一个宏,调用M-x ffap RET RET,然后将它绑定到建议的C-x f