Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
Emacs在dired中禁用鼠标-1_Emacs_Mouseevent_Dired - Fatal编程技术网

Emacs在dired中禁用鼠标-1

Emacs在dired中禁用鼠标-1,emacs,mouseevent,dired,Emacs,Mouseevent,Dired,在Emacs 23.2.1中,在直接模式下,鼠标-1(鼠标左键)执行访问其他窗口中的文件。它还会将形状更改为手指,并在光标悬停在文件名上时高亮显示文件名。如何禁用访问文件和文件名突出显示?我想让mouse-1做它通常的事情:选择文本 如果在文件名或目录名之外的区域中单击开始,我仍然可以选择文本。但是我只想标记文件名,前面没有空格。我只是通过将其自定义为nil来关闭mouse-1-click-follows-link。(也可以将其设置为长时间限制值。) 或者,如果只想对直接缓存执行此操作,可以执行

在Emacs 23.2.1中,在直接模式下,鼠标-1(鼠标左键)执行
访问其他窗口中的文件
。它还会将形状更改为手指,并在光标悬停在文件名上时高亮显示文件名。如何禁用
访问文件和文件名突出显示?我想让mouse-1做它通常的事情:选择文本


如果在文件名或目录名之外的区域中单击开始,我仍然可以选择文本。但是我只想标记文件名,前面没有空格。

我只是通过将其自定义为
nil
来关闭
mouse-1-click-follows-link
。(也可以将其设置为长时间限制值。)

或者,如果只想对直接缓存执行此操作,可以执行以下操作:

(add-hook 'dired-mode-hook
      (lambda ()
        (set (make-local-variable 'mouse-1-click-follows-link) nil)))
但通常最好命名一个在钩子上使用的函数(例如,删除它更容易):


如果您有最新版本的Emacs,其中定义了
setq local
,那么您可以在hook函数中使用
(setq local mouse-1-click-follows-link nil)
,而不是
(set(make local variable'mouse-1-click-follows-link)nil)

解决了主要问题。然而,文件名仍然突出显示,这使得我很难看到我选择的是哪个部分。通过添加
(defun dired insert set properties(beg end)nil)覆盖内部
mouse.el
函数
高亮显示和手指光标也消失。这是正确的方法吗?我建议您只需自定义面
高亮显示
,它用于属性
鼠标面
提供的高亮显示,这样您可以看得更清楚。突出显示的原因是:您可以单击
mouse-2
(不仅仅是
mouse-1
)或点击链接(突出显示的文本)上的
RET
,以访问文件或目录。(如果使用,则整行高亮显示,这有助于通过眼睛对齐信息。)如果确实不希望高亮显示,则选择“是”,只需更改
dired insert set properties
。查看
mouse.el
我刚刚了解到,默认情况下,我可以在dired模式下选择文件名的一部分:我只需单击并移动光标。但是,由于文件名高亮显示,很难看到我选择的内容。还想杀死这个“功能”:哪个普通人用鼠标点击打开一个文件?
(defun foo ()
  (set (make-local-variable 'mouse-1-click-follows-link) nil)))

(add-hook 'dired-mode-hook 'foo)