标签: dired

emacs dired和openwith

我想在从dired模式打开图像文件时配置emacs以使用外部应用程序.

另一方面,我也想在emacs缓冲区中使用内联图像.

要在外部应用程序中打开文件,我使用openwith.elhttp://www.emacswiki.org/emacs/OpenWith

openwith minor模式的问题在于它是全局的,并且当它由dired-mode-hook启用时

(add-hook 'dired-mode-hook
          (lambda ()
            (setq truncate-lines t)
            (openwith-mode t)
            ))
Run Code Online (Sandbox Code Playgroud)

它遍布各处,emacs缓冲区中的所有内嵌图像都在外部应用程序中打开.

我试图改变

:global t 
Run Code Online (Sandbox Code Playgroud)

:global nil 
Run Code Online (Sandbox Code Playgroud)

openwith.el中,但它以某种方式完全禁用了openwith模式.

所以,我的问题是:如何告诉emacs只使用带有dired缓冲区的openwith minor模式而不是其他地方?

谢谢.

emacs elisp dired

6
推荐指数
1
解决办法
1378
查看次数

dired-x:如何设置"杀死......的缓冲区?" 是没有确认?

如果删除了文件foodired-x,对方问Kill buffer of foo, too?.如何跳过这个问题并始终回答yes

emacs dired

6
推荐指数
3
解决办法
395
查看次数

Emacs 直接模式下的图标

我想使用 emacs 的 dired 模式作为我的文件浏览器。我非常喜欢看到文件/文件夹的图标,而不是看到扩展名和颜色。这些图标给了我一个非常快速的视觉反馈。我在网上搜索了 dired 中的图标显示,但没有找到。所以我想知道是否有可能做到这一点,如果有,怎么做?

把我的问题说清楚

如何在 Emacs 的 dired 模式下显示文件和文件夹的图标?

emacs dired

5
推荐指数
1
解决办法
2245
查看次数

Emacs中针对dired模式的专用窗口?

我通过使用这个常见的elisp来让emacs或多或少地表达我的想法:

(defun toggle-current-window-dedication ()
 (interactive)
 (let* ((window    (selected-window))
        (dedicated (window-dedicated-p window)))
   (set-window-dedicated-p window (not dedicated))
   (message "Window %sdedicated to %s"
            (if dedicated "no longer " "")
            (buffer-name))))

(global-set-key [pause] 'toggle-current-window-dedication)
Run Code Online (Sandbox Code Playgroud)

不幸的是,dired使用目录作为缓冲区名称,因此专用dired窗口只将它专用于该目录.向上或向下导航后,它会在单独的窗口中打开一个新缓冲区.我想要做的是将一个窗口专用于主要模式(在这种情况下为dired),并且默认为该模式的所有新缓冲区都更喜欢该窗口.这可能吗?

emacs elisp dired

5
推荐指数
1
解决办法
1183
查看次数

使用ido.el在emacs上使用dired复制粘贴各种文件

我正在使用带有dired的emacs,

(require 'dired-details)
(dired-details-install)
Run Code Online (Sandbox Code Playgroud)

和偶像,

(setq ido-enable-flex-matching t)
(setq ido-everywhere t)
(ido-mode 1)

(setq ido-use-filename-at-point 'guess)
(setq ido-create-new-buffer 'always)
Run Code Online (Sandbox Code Playgroud)

(以及recentf如所描述这里)

但是,当我处于直接状态并在选择几个文件后复制(Shift-C),并转到应该粘贴它们的新目录...我有两个不工作的选项:1)我点击一个目录,并进一步进入我不想要的目录.2)我点击一个文件,ido抱怨

标记副本:目标必须是目录:

如何将所选文件直接粘贴到新目标?任何帮助表示感谢,谢谢.

emacs copy ido-mode dired ido

5
推荐指数
1
解决办法
1146
查看次数

在直接缓冲区中获取ido

我经常使用dired-mode,最近我开始使用ido:

(ido-mode 1); enable ido-mode
(setq ido-enable-flex-matching t); flexibly match names via fuzzy matching
(setq ido-everywhere t); use ido-mode everywhere, in buffers and for finding files
(setq ido-use-filename-at-point 'guess); for find-file-at-point
(setq ido-use-url-at-point t); look for URLs at point
(setq ffap-require-prefix t); get find-file-at-point with C-u C-x C-f 
Run Code Online (Sandbox Code Playgroud)

当我C在一个直接缓冲区中复制一个文件(带)时,我仍然需要使用"标准方式"来给出复制文件的新位置.这意味着,我必须使用标准的TAB完成,但没有ido完成.这同样适用于R移动文件等.因此,我想知道是否有可能得到ido同样作用于CR在dired缓冲区?

emacs dired ido

5
推荐指数
1
解决办法
1460
查看次数

Emacs:如何在同一窗口中打开dired书签

当我浏览文件系统时,我设法在一个窗口中进行直接工作.

改进了人体工程学,我决定为我最常用的目录创建书签,其中包括短名称:'lwt','eve'等.但每次打开书签时,都会创建新的dired缓冲区,即使旧的存在也是如此.

如何让它在现有的dired缓冲区中打开书签?

emacs bookmarks elisp dired

5
推荐指数
1
解决办法
449
查看次数

Emacs ediff 标记了不同目录缓冲区中的文件

我有以下函数,它对我在 dired 缓冲区中标记的文件运行 ediff:

(defun mkm/ediff-marked-pair ()
  "Run ediff-files on a pair of files marked in dired buffer"
  (interactive)
  (let ((marked-files (dired-get-marked-files nil)))
    (if (not (= (length marked-files) 2))
    (message "mark exactly 2 files")
      (ediff-files (nth 0 marked-files)
           (nth 1 marked-files)))))
Run Code Online (Sandbox Code Playgroud)

它仅适用于同一目录中的文件,如何使其适用于我在不同目录中标记的文件?

emacs dired emacs-ediff

5
推荐指数
1
解决办法
792
查看次数

在Windows 7的Emacs 24.3.1中,如何在dired中首先对目录进行分组?

我最近开始dired认真使用C-x C-j,在这个问题的答案之一中,已经姗姗来迟地检查了使用的建议."跳跃"功能与承诺的一样有用,并让我dired认真调查.一个障碍是我不能将目录分组到dired缓冲区中的文件上面.我已经尝试将以下内容放入我的.emacs.d文件中,但它没有任何效果,可能是因为我在Windows上运行.

(setq dired-listing-switches "--group-directories-first -alh")
Run Code Online (Sandbox Code Playgroud)

如何dired在Windows 7的缓冲区中实现文件上方的分组目录?

[编辑]根据下面的答案,dired-sort-menu似乎工作 - 见下面的截图.

dired-sort-menu截图

sorting emacs dired

5
推荐指数
1
解决办法
396
查看次数

字节编译emacs lisp文件:错误:无法打开加载文件

我在Ubuntu 12.04上使用Gnu Emacs 24.3.我dired+.el从这里下载:http://www.emacswiki.org/emacs/dired%2b.el.然后我尝试在Emacs中对此文件进行字节编译.我做了一个文件bytecomp.el:

(byte-compile-file "dired+.el")
Run Code Online (Sandbox Code Playgroud)

并运行以下命令:

bash$ emacs -batch -l bytecomp.el -kill
Run Code Online (Sandbox Code Playgroud)

并收到以下错误消息:

In toplevel form:
dired+.el:1114:1:Error: Cannot open load file: dired+
Run Code Online (Sandbox Code Playgroud)

更新

将文件更改bytecomp.el为:

(add-to-list 'load-path "~/emacs/test/bytecompile")
(byte-compile-file "dired+.el")
Run Code Online (Sandbox Code Playgroud)

emacs -batch -l bytecomp.el -kill从同一目录(~/emacs/test/bytecompile)运行给出另一个错误消息:

Recursive load: "/home/fcihh/emacs/test/bytecompile/bytecomp.el", "/home/fcihh/emacs/test/bytecompile/bytecomp.el", "/home/fcihh/emacs/test/bytecompile/bytecomp.el", "/home/fcihh/emacs/test/bytecompile/bytecomp.el", "/home/fcihh/emacs/test/bytecompile/bytecomp.el"
Run Code Online (Sandbox Code Playgroud)

emacs elisp dired

5
推荐指数
1
解决办法
1166
查看次数

标签 统计

dired ×10

emacs ×10

elisp ×4

ido ×2

bookmarks ×1

copy ×1

emacs-ediff ×1

ido-mode ×1

sorting ×1