小编Ste*_*fan的帖子

使用左侧的 org 文件和右侧的议程启动 Emacs

我想全屏打开 Emacs,垂直拆分两个窗口。我希望我的 todo.org 文件在左侧打开,而我的议程视图在右侧打开。

类似的问题出现在本网站的其他几个问题中,但它们并不完全相同和/或我无法使用/理解他们的答案来完全解决我的挑战。

我已经非常接近我的 custom-init.el 文件中的以下内容:

;; Windows layout setup
(add-to-list 'default-frame-alist '(fullscreen . maximized))
(split-window-right)
(setq initial-buffer-choice "~/emacs/Org/todo.org")
(setq org-agenda-window-setup 'current-window)
(add-hook 'after-init-hook (lambda () (org-agenda nil "u")))
(add-hook 'after-init-hook (lambda () (org-agenda-list 1)))
Run Code Online (Sandbox Code Playgroud)

这会正确格式化屏幕,并按照我的需要显示窗口位置和大小。它还会打开我的待办事项文件并根据需要将其放在左侧,但我在右侧打开了暂存缓冲区。议程已正确创建和格式化,并且是缓冲区列表中的第三项(scratch、todo.org、议程,然后是我在启动时打开的所有其他组织文件。)

如此接近,但经过几天的思考和尝试不同的事情,我只是没有到达那里。

windows emacs startup org-mode agenda

4
推荐指数
1
解决办法
1044
查看次数

让Apache自动解压缩文件,但仅在需要时

我想保持我的web服务器的所有静态文件在本地压缩,并根据请求压缩或不压缩它们.

在这些问题的答案我怎么能预先压缩与Apache 2.X的mod_deflate模块文件吗?,接近,因为实际上通过启用MultiViews并使用正确的AddEncoding,我可以让Apache foo.tar.gz在我请求时从我的web服务器返回压缩文件foo.tar,并且它带有正确的Content-Encoding:标头.

但这仅在客户端包含Accept-Encoding: gzip在发送到服务器的标头中时才有效.OTOH如果客户端不支持gzip编码,我的服务器告诉我,foo.tar对我来说没有"可接受" .

如果我使用它,我可以让Apache在发送之前解压缩该tarball AddOutputFilter INFLATE tar.但是,如果我这样做,那么服务器也会在我请求时foo.tar.gz(或者当我指定我接受gzip编码时)解压缩内容,这显然是我不想要的.

那么当客户端不支持gzip内容编码时如何让Apache解压缩文件,而在其他情况下如何提供预压缩文件呢?

编辑:根据@ covener的建议,我尝试了以下方法:

AddEncoding x-gzip .gz .tgz
RemoveType application/x-gzip .gz .tgz
AddType application/x-tar .tgz

<Location /packages>
  FilterDeclare smgunzip CONTENT_SET
  FilterProvider smgunzip INFLATE req=Accept-Encoding !$gzip
  FilterChain smgunzip
</Location>
Run Code Online (Sandbox Code Playgroud)

[在这里使用Apache-2.2.22.]但结果实际上比前三行更糟糕:当我请求.tar.gz文件时,它现在返回而没有"Content-Encoding:",当我请求.tar文件时,我收到了tar.gz的内容(即仍然是压缩的),无论"Accept-Encoding:"标题如何,仍然没有"Content-Encoding:".

apache mod-deflate mod-negotiation

3
推荐指数
1
解决办法
1442
查看次数

Elisp以编程方式复制到剪贴板剪贴板

我试图将一些elisp代码执行结果复制到我的剪贴板.我正在寻找可以像这样使用的东西.

(defun generate-string-to-my-clipboard ()
  (magic-function (foo-generate-string)))
Run Code Online (Sandbox Code Playgroud)

执行后,我可以在我的系统中粘贴(foo-generate-string)的结果

我已经看过使用kill-region或的解决方案clipboard-kill-ring-save,但它需要一个区域或缓冲区中的某个字符串来选择它.它可以工作,但感觉有点牵强.

emacs clipboard copy-paste

3
推荐指数
1
解决办法
153
查看次数

imenu不适用于python模式或c ++模式

imenu为我工作emacs-lisp-mode-hook.但是当我为python或c ++模式尝试以下操作时,它不起作用:

(add-hook 'python-mode-hook
          (lambda ()
             (add-to-list
              'imenu-generic-expression
              '("Sections" "^#### [ \\(.+\\) ]$" 1))
             (imenu-add-to-menubar "Position")))

(add-hook 'c++-mode-hook
          (lambda ()
             (add-to-list
              'imenu-generic-expression
              '("Sections" "^//// [ \\(.+\\) ]$" 1))
             (imenu-add-to-menubar "Position")))
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么?

emacs

2
推荐指数
1
解决办法
985
查看次数

如何在`nlinum-mode`中突出显示当前行号

我正在编写一个次要模式以在使用时突出显示当前行号nlinum-mode(由@Stefan 编写),除了 光标位于窗口顶部的第一行之外,我一切正常。

nlinum-mode可以在这里找到代码:http : //elpa.gnu.org/packages/nlinum.html

任何帮助弄清楚为什么这不起作用(即,当光标位于窗口顶部的第一行时)将不胜感激。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; M-x hl-nlinum-mode

(defvar nlinum-highlight-current-line-number-string nil
  "An overlay string used to highlight the current line number.")
(make-variable-buffer-local 'nlinum-highlight-current-line-number-string)

(defvar nlinum-highlight-p nil
  "Set to non-`nil` when overlay is present, and `nil` when not present.")
(make-variable-buffer-local 'nlinum-highlight-p)

(defface ln-active-face
  '((t (:foreground "black" :background "#eab700" :bold nil :italic nil
      :underline nil :box nil :overline nil)))
  "Face for `ln-active-face`."
  :group 'linum)

(defface ln-inactive-face
  '((t (:foreground "SteelBlue" :background …
Run Code Online (Sandbox Code Playgroud)

emacs elisp

2
推荐指数
1
解决办法
1869
查看次数

在正在运行的Emacs Lisp程序上设置断点

我遇到了从ubuntu发行版中删除的Emacs lisp包的问题.包是JDEE,每当我打开文件时,它都会Args out of range: "63", 0, 4在迷你缓冲区和*Messages*缓冲区中出现问题.该错误似乎已于去年9月报告,但未采取任何措施.我不是一个emacs新手,自己编写了一些Elisp代码,但我从来没有尝试过调试这样的东西.我想在发生此错误时停止调试器中的文件加载,至少可以了解问题的来源.我读过的"在错误进入调试器",但试图与价值观的不同组合打后,要将文件加载的elisp手册第18.1.1 debug-on-error,debug-ignored-errorsdebug-on-signal似乎没有任何效果.有人对我的下一步有任何建议吗?

emacs elisp

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

LISP - 从给定的原子列表中删除重复项

我正在尝试删除给定列表中重复出现的原子。
我的代码如下 -

(defun combine (item List)
 (if (member item List)
   List (cons item List)))

(defuneliminateDuplicates(L)
    (do
      ((M L) M)
      ((null L) M)
      (setq M (combine (car L) M))
      (setq L (cdr L))
))
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,它从列表中删除重复项 -

[3]> (eliminateduplicates '(a b b c a c g a))
(G C B A)
[4]> (eliminateduplicates '(a a a a a a))
(A)
[5]> (eliminateduplicates '(a b c d))
(D C B A)
Run Code Online (Sandbox Code Playgroud)

在这里,我希望结果的顺序与给定列表中的顺序相同。
即, 的结果(eliminateduplicates '(a b b c a c g …

lisp common-lisp

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

为什么Rust书籍在复制顶级结构时会将变量分配给另一个?

Rust编程语言的所有权部分中,Strings表示为具有3个字段的结构(3个字段中的一个是指向实际字节向量的指针).有一个例子:

let s1 = String::from("hello");
let s2 = s1;
Run Code Online (Sandbox Code Playgroud)

这本书解释此作为复制包含在3场结构s1s2(但不是字节矢量),然后标记包含在所述结构s1为"无效"(图4-4).

为什么它以这种方式呈现而不是呈现s2为指向相同的顶级结构s1,然后标记s1为"无效"?

这种替代演示会导致语义上的明显差异(或者甚至会导致问题)吗?如果没有,是因为它更好地反映了底层实施吗?如果是这样,为什么实现会进行这样的复制操作?

ownership-semantics rust

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