是否可以在不杀死/重新打开缓冲区的情况下从 emacs 内部更改文件的写入权限?
有时我忘记在打开文件之前修改它的权限。我可以从 emacs ( M-! chmod u+w filename)内部修改权限,但这不会更新保持写保护并拒绝修改文件的缓冲区。
有没有办法更新缓冲区内的权限?如果我可以将其分配给快捷方式,那就加分!
当我在 emacs 中打开一个大文件时,我收到一条消息说‘foo.bar 文件很大;真的开放吗?
如何阻止 emacs 一直问我这个问题?换句话说,如果我打开文件,我想打开文件,不管它有多大。
我使用 emacs 进行日常 javascript 编辑,在缓冲区之间切换我使用 Cx LEFT 和 Cx RIGHT 并且我对此很好(即使我发现很难知道我正在修改的文件的路径)。
我的问题:
在我总是拥有*scratch*并*Messages*打开的启动时,我认为放入(kill-buffer "*scratch*")我的 .emacs 可以解决问题,但事实并非如此,您有什么建议吗?
当我打开文件时,我总是做 TAB 自动完成,所以每次我创建一个*Messages*包含完成选项的新缓冲区时,我如何防止它创建,或者更好的是,我如何让 emacs 杀死它,在我完成之后做出我的选择?
如果您认为我正在做的事情与我在顶部所说的导航不“应该的方式”,请说出您的意见。
我有几个脚本可以启动与特定项目相关的所有应用程序和文件。但是,它会启动多个 emacs 实例,而不是简单地使当前的 emacs 打开请求的文件。我宁愿当前的 emacs 只是在新缓冲区中打开项目文本文件。
任何想法我怎么能做到这一点?
我已经从源代码 (v24.2) 编译了最后一个 emacs 版本,因为我机器上安装的版本对我来说(v21.3)(相当)旧。我已经做了通常的:
$configure --prefix=$HOME
make
make installRun Code Online (Sandbox Code Playgroud)
现在我正在测试 emacs 并意识到它仍然启动以前的版本......而我的$HOME/bin路径应该覆盖系统路径(因为它在我的.bashrc文件中被添加到 $PATH )。
我的第一个想法是查看which命令输出。令人惊讶的是,它为新的 emacs 提供了路径。我不明白这里的差异在哪里。在同一会话中,这里是不同的输出:
$ emacs --version
GNU Emacs 21.3.1
$ `which emacs` --version
GNU Emacs 24.2.1
Run Code Online (Sandbox Code Playgroud)
我没有涉及 emacs 的别名。在所有。
$ alias | grep emacs
$
Run Code Online (Sandbox Code Playgroud)
知道发生了什么吗?
我注意到一些在线终端窗口的屏幕截图,它们在状态栏或突出显示的行周围显示突出显示的细边缘。在以下示例中,请注意第 1、5 和 389 行周围的浅灰色边缘:

在此示例中,请注意 Emacs 模式行(状态栏)周围的黄色边缘:

此效果的名称是什么,在 OS X 10.10 下使用 iTerm 2 是否可能?
更新
在做了一些研究和挖掘 Emacs自定义界面主题代码后,我发现了一些定义边缘的代码。在 Emacs 的说法中,它被称为:box,它的属性之一是line-width。这是在主题中定义的框线示例:
'(modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed))))
Run Code Online (Sandbox Code Playgroud)
对于文档:box可以在Emacs手册的发现面部属性的文件,尽管它没有提到它是如何工作的,或终端支持。
我开始认为这可能是 Emacs 的 GUI 版本的一个特殊功能(例如Aquamacs,但我很确定我已经看到了具有类似框高亮显示的 Ubuntu Unity 终端窗口的屏幕截图。
我正在试验ediff-directories,但我不确定我是否正确使用它。
我在文档中读到,一旦我向 提供了两个目录ediff-directories,如果我按下==Emacs 就会递归地比较它们。
但是,如果我按,==我只会=在我运行命令的级别上得到带有符号的文件夹(意味着这两个文件夹具有相同的内容)。如果我想查看文件=夹层次结构中哪些文件夹在更深层次上有标志,我需要==在每个级别重新运行命令。
我如何告诉 emacs 一直递归到叶子,以便我可以看到directory difference buffer(可通过键盘命令访问D)中的所有差异?
如果有人知道有关如何使用的教程ediff-directories(官方文档除外),我会非常感兴趣。
此外,如果我想退出会话组(在一个级别上比较文件夹),但我为更深层次打开了会话,如果我按下q(退出此会话组),Emacs 会抱怨以下消息:
此会话组有活动会话---无法退出
如何退出会话组而不一一退出子会话?
我正在使用 Emacs 23。如果使用默认设置,linum-mode运行良好。
但是如果我增加字体大小,则无法显示数字。随着行号字体大小的增加,显示行号的框架似乎没有增加。
任何人都知道如何解决这个问题?
我有一个 Apple 键盘,在使用 Emacs 时,我必须对键进行一些重新映射,以使该mod-4键成为Space栏左侧的第一个键。当我使用 dwm 窗口管理器时,下面的脚本运行良好,但是在切换到 Openbox 后,我发现不是在选项键和命令键之间交换键码,而是两个键都在做同样的事情。
我注意到的一件奇怪的事情是,当我单击运行showkey并按下选项和命令键时,我分别得到 56 和 125的新设置,但是将它们插入下面的脚本而不是 64 和133.
我必须承认,我通过不断调整它直到它起作用来创建下面的脚本,因此可能有更好的方法来做到这一点。
# switch alt and command...the switch is not being done properly
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 133 = Meta_L"
# remap of mod 4
xmodmap -e "clear Mod4"
xmodmap -e "add Mod4 = Super_L"
Run Code Online (Sandbox Code Playgroud)
我习惯了以前的键盘设置并放弃了尝试调整它。不幸的是,经过近期重启CapsLock到Ctrl不再工作所以在这里我再次。
这次我没有使用上面使用的映射,而是运行xmodmap -pke > ~/.xmod并调整那里的键(这更容易)。
然而,事情仍然不太对劲。将CapsLock仍然用作正常时除外xev命令运行,则它返回这似乎以显示正确的映射如下:
# caplock …Run Code Online (Sandbox Code Playgroud) 我正在使用 emacs(在终端上)并且我使用 screen 在终端之间切换。组合键Ctrl+A被屏幕抓取。有没有办法改变屏幕键绑定?
emacs ×10
bash ×1
buffer ×1
colors ×1
command-line ×1
diff ×1
fonts ×1
gnu-screen ×1
openbox ×1
path ×1
permissions ×1
terminal ×1
which ×1
xmodmap ×1