Emacs

使用,扩展或开发Emacs的人员的问答

3
如何在组织模式下自动格式化源代码块
当我使用组织模式来记一本书的笔记时,有时我会将一些代码片段复制/粘贴到笔记文件中。粘贴后,我将 1. `C-c '` to call `org-edit-special` 2. `C-x h` to mark all the source code 3. `TAB` to format it 是否有组织模式的解决方案,在将代码粘贴到中后#+BEGIN_SRC...#+END_SRC,它将自动格式化代码块,或者我可以只使用一个键TAB来格式化(缩进)整个源代码块? 默认值TAB(在块中键入,不使用C-c ')只是将所有行对齐#+BEGIN_SRC标题后的第2列,如果第二行的开头有空格,则只会添加更多空格,不会像3步那样缩进所有行。

2
TRAMP莫什
Mosh是ssh的替代方法,通常更具弹性。特别是,它可以处理: 极端丢包 更改客户端IP 临时连接丢失 除了缺少XAMP转发(TRAMP不使用)之外,使用它的缺点很少。 如果我们可以让emacs一起使用,那就太好了,因为它可能使TRAMP在不稳定的环境中更加稳定。 为此,已经完成了一些工作,但是还没有任何工作。
11 tramp 

1
查找警告的起源
我运行了一条命令,并在迷你缓冲区中收到警告。 确切的警告是comint-completion-at-point failed to return valid completion data,当我在Windows中自动完成命令后shell-mode。 如何确定警告的明确来源?
11 debugging 

3
如何在不通知的情况下修改缓冲区?
问:如何在不undo通知的情况下在缓冲区中插入/修改文本? 这是用例。我在每个文件的开头都有一个注释块,除其他外,它为文件的最新更改更新了时间戳。我希望能够在没有undo设施注意的情况下修改该时间戳。 我要在undo此处短路的原因是由于以下情况,这种情况在编辑/编译LaTeX文档(可能还有其他情况,但这是最常使我发疯的情况)时出现: 对文件进行一些小的更改,以查看它将如何影响已编译的文档 保存文件(更新时间戳) latex在文件上运行 确定更改是不好的 undo 变化 步骤(5)(undo)的问题在于它不会撤消在步骤(1)中所做的更改,而是撤消步骤(2)中的时间戳更新。这不会打扰我(我只能undo再说一次),除了它还会一直指向文件顶部的时间戳,这几乎总是与实际的实质性更改相距很多行。这非常刺耳,完全打乱了我的注意力。 我针对正在访问的文件提出问题,但更笼统地说是关于修改缓冲区。 因此:如何避免undo注意到对缓冲区的特定修改?

2
使用公司模式完成文件名
我在init.el中使用以下命令启用了公司: (require 'company) (add-hook 'after-init-hook 'global-company-mode) 但是,尽管源中有一些提供程序,但网站没有提到它的支持,但我没有完成文件名。 我开始输入/ home / emmanuel ...,虽然我希望完成功能会开始提供选项,但什么也没发生? 另外,公司模式如何自动检测相对路径的完成,我想我读到了它的支持,但是我不确定如果没有开头的“ /”作为提示,它将如何检测到它?

1
如何从函数和变量中检索文档字符串?
我正在尝试编写一个函数,该函数将从匹配文件中的任何sexps中检索文档字符串(def.*)。 我想既能够检索任何函数/宏,也可以检索定义的任何变量。对于变量,我需要文档字符串,而对于任何函数,我还需要参数列表。

2
如何切换不同语言的键盘布局?
问:使用非标准键盘布局时,如何在不同语言的输入法之间切换? 我必须用两种不同的语言编辑文本。我希望能够跨两种语言使用我的键绑定,当然,除了在将文本插入缓冲区中时。看来我应该能够toggle-input-method(C-\)并选择其他语言。 到目前为止,还算不错。 麻烦所在:我使用英语Dvorak布局,该布局是在操作系统级别设置的(即,使用setxkbmap)。当我toggle-input-method使用QWERTY布局(美国标准)时,插入的文本将是正确的,但由于我使用的是Dvorak,因此显示为乱码。(FWIW,当我将布局切换到标准美国时,它可以正常工作。) 因此:我如何通知Emacs我正在使用Dvorak,以便toggle-input-method和朋友将我的按键转换成另一种语言的正确字符?

3
检索嵌套的assoc列表中的值的最佳方法?
假设我有一个这样的assoc列表: (setq x '((foo . ((bar . "llama") (baz . "monkey"))))) 我想要的价值bar。我可以做这个: (assoc-default 'bar (assoc-default 'foo x)) 但是我真正想要的是可以接受多个键的东西,例如 (assoc-multi-key 'foo 'bar x) 这样的东西是否存在,也许在某个地方的包装中?我敢肯定我会写的,但是我觉得我的Google-fu只是失败了,我找不到它。

3
如何将杀死的矩形复制到杀死环
我经常从缓冲区中提取文本的矩形,但随后发现我想像不是矩形一样拉动文本。有没有办法将当前的终止矩形添加到终止环? 在GNU Emacs的手册有这样一段话: “杀死”一个矩形并不是通常意义上的杀死。矩形不存储在终止环中,而是存储在仅记录最近终止的矩形的特殊位置。这是因为拉动矩形与拉动线性文本非常不同,因此必须使用不同的拉动命令。没有为矩形定义弹出弹出框。 但是,我基本上可以得到我想要的行为 M-> 转到缓冲区末尾 C-x r y 矩形 C-x C-x 交换点和标记(选择新标记的线) C-w 杀死选择到杀死环 有没有更好的方法可以将被杀死的矩形变成杀伤环的入口?


1
提高文档视图显示质量
doc-view中显示的pdf中的字体不是特别可读。是否可以更改设置以改善图像质量?我尝试将doc-view-resolution100 更改为300,但这只是使pdf渲染更大。
11 pdf  docview 


1
在新窗口中打开头盔搜索结果?
命令一样helm-projectile-grep,helm-swoop,projectile-find-file是围绕代码跳跃非常有用。但是,到目前为止,我还没有找到如何在新窗口中打开搜索结果的方法(相反,现在按下RET并突出显示搜索结果会在执行原始搜索命令的窗口中打开搜索结果)。 我希望能够有选择地*helm grep*在水平或垂直平铺的窗口中打开以模式突出显示的搜索结果。例如,我想要以下功能: 按下RET可在当前窗口中打开突出显示的结果 按下C-c h RET可在新的水平平铺窗口中打开突出显示的结果 按下C-c v RET可在新的垂直平铺窗口中打开突出显示的结果 这是一个例子: 这样的事情可能吗?谢谢你的时间!

2
按名称查找文件
如何将目录树中递归地将名称与特定正则表达式一致的所有文件引入单个Dired缓冲区? 因此,我可以一次重命名/删除它们吗?
11 dired 

1
`mu4e-contexts`使用不正确的SMTP凭据的多个Gmail帐户
我正在尝试使用设置多个Gmail帐户mu4e-context。除了一个功能外,我还有很多其他功能。我可以在上下文之间切换,更新每个帐户中的邮件(使用offlineimap),然后可以发送邮件。 问题是我的.authinfo文件中有多行具有相同的主机名-我以为mu4e可以按用户名区分,但事实并非如此。不要紧,这方面我在,邮件总是被从所配置的帐户发送的第一个中.authinfo的文件。 我不知道如何使每个上下文使用单独的凭据登录Gmail SMTP服务器。 我想过尝试一些主机别名,以便建立personal.gmail.com和work.gmail.com双方决心smtp.gmail.com,这样我可以给他们在不同的机器名authinfo,但我不能确定如何实现这一目标(在OSX),或者即使它是解决这个问题的一个明智的方法(理想情况下,我不必非要在Emacs之外进行配置)。 我的authinfo看起来像这样 machine smtp.gmail.com login personal@example.com port 587 password fakepassword machine smtp.gmail.com login work@example.com port 587 password fakepassword 我的mu4e-config的相关部分是: (setq mu4e-get-mail-command "offlineimap") (setq mail-user-agent 'mu4e-user-agent) (setq message-send-mail-function 'smtpmail-send-it) (setq smtpmail-stream-type 'starttls) (setq smtpmail-default-smtp-server "smtp.gmail.com") (setq smtpmail-smtp-server "smtp.gmail.com") (setq smtpmail-smtp-service 587) (setq mu4e-contexts `( ,(make-mu4e-context :name "personal" …
11 email  mu4e  smtpmail 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.