我想全屏打开 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、议程,然后是我在启动时打开的所有其他组织文件。)
如此接近,但经过几天的思考和尝试不同的事情,我只是没有到达那里。
我想保持我的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:".
我试图将一些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,但它需要一个区域或缓冲区中的某个字符串来选择它.它可以工作,但感觉有点牵强.
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)
有谁知道为什么?
我正在编写一个次要模式以在使用时突出显示当前行号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) 我遇到了从ubuntu发行版中删除的Emacs lisp包的问题.包是JDEE,每当我打开文件时,它都会Args out of range: "63", 0, 4在迷你缓冲区和*Messages*缓冲区中出现问题.该错误似乎已于去年9月报告,但未采取任何措施.我不是一个emacs新手,自己编写了一些Elisp代码,但我从来没有尝试过调试这样的东西.我想在发生此错误时停止调试器中的文件加载,至少可以了解问题的来源.我读过的"在错误进入调试器",但试图与价值观的不同组合打后,要将文件加载的elisp手册第18.1.1 debug-on-error,debug-ignored-errors和debug-on-signal似乎没有任何效果.有人对我的下一步有任何建议吗?
我正在尝试删除给定列表中重复出现的原子。
我的代码如下 -
(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 …
在Rust编程语言的所有权部分中,Strings表示为具有3个字段的结构(3个字段中的一个是指向实际字节向量的指针).有一个例子:
let s1 = String::from("hello");
let s2 = s1;
Run Code Online (Sandbox Code Playgroud)
这本书解释此作为复制包含在3场结构s1以s2(但不是字节矢量),然后标记包含在所述结构s1为"无效"(图4-4).
为什么它以这种方式呈现而不是呈现s2为指向相同的顶级结构s1,然后标记s1为"无效"?
这种替代演示会导致语义上的明显差异(或者甚至会导致问题)吗?如果没有,是因为它更好地反映了底层实施吗?如果是这样,为什么实现会进行这样的复制操作?
emacs ×5
elisp ×2
agenda ×1
apache ×1
clipboard ×1
common-lisp ×1
copy-paste ×1
lisp ×1
mod-deflate ×1
org-mode ×1
rust ×1
startup ×1
windows ×1