为了在Wordpress博客中嵌入来自Github的非常长的Gists,允许我设置高度以便生成垂直滚动条的代码是什么?大约500px的东西是完美的.
编辑:问题现在已经解决,但我在这个问题上花了很多时间,我相信有一个专门讨论这个问题的线程会很有帮助.我在下面发布了一个有效的答案.
有人可以给我一些帮助,以完全隐藏:PROPERTIES:抽屉,包括说明的线:PROPERTIES:.
* TASKS (with deadines)
** Next Action [#A] Ask the geniuses how to do this. :lawlist:
DEADLINE: <2013-07-04 Thu >
:PROPERTIES:
:ToodledoID: 330686790
:ToodledoFolder: TASKS
:Hash: afa88f17317bbe2ce0ce661333cdcfb4
:END:
This line is for notes, which appears underneath the properties drawer.
* UNDATED (without deadlines)
** Someday [#A] Close but no cigar -- keep trying. :lawlist:
:PROPERTIES:
:ToodledoID: 330686680
:ToodledoFolder: TASKS
:Hash: eb0b8d360b5b1453dd66ed0c5698e135
:END:
This line is for notes, which appears underneath the properties drawer.
Run Code Online (Sandbox Code Playgroud)
我没有通过谷歌搜索看到这个功能,所以我猜测需要一些特殊的代码行才能使这个功能请求成为现实.[换句话说,我不认为这是一个超级用户的问题,因为这需要用一些特殊的代码来发明.]
我正在寻找一些想法,关于如何在文件打开之前拦截它并决定在哪个框架中打开它.
我有frame-bufsAlp Aker 的修改版本- https://github.com/alpaker/Frame-Bufs - 正在使用当前版本的Emacs Trunk.我编写了一个函数,将正在打开的文件与具有焦点的框架相关联.我想更进一步,设置一个列表,file types并buffer names始终与特定帧相关联.我在想一个像这样的函数:
* If the file being opened is
(or (eq major-mode 'text-mode) (eq major-mode 'latex-mode) )
(switch-to-frame "TEXT")
* If the buffer being opened is
(or (equal (buffer-name) "Folder") (equal (buffer-name) "Summary") )
(switch-to-frame "WANDERLUST")
* After completing either of the above, open the file / buffer.
* Run the custom frame association function -- (associate-current-buffer)
Run Code Online (Sandbox Code Playgroud)
我假设可以确定文件在帧中实际打开之前的模式.最好的方法是什么?
我无法对Aquamacs进行逆向工程,以提取NSSpellChecker的使用/功能.我想将这些使用/功能合并到源代码的Emacs的简单构建中.我找到了看似相关的文件 - ns-win.el; flyspell.el; 和ispell.el-然而,简单地从Aquamacs替换这些文件到Emacs的不启用弹出菜单中运行拼写检查是原产于OSX.我错过了一个或多个拼图 - 我打开了所有的Aquamacs*.gz文件并在所有这些文件中搜索了几个关键字,但我还没有找到任何其他文件看起来像他们有与此功能有关.该功能由Aquamacs启用,before其site-start.el已启动.
我已经学会了如何使用tarball从源代码构建Emacs,以及使用bzr.如果有人知道如何在构建过程中配置NSSpellChecker,那就太棒了.
我在互联网上找不到任何远程描述如何执行此操作的内容.
Aspell的拼写检查功能让我想起了80年代后期的生活.我已经喜欢弹出式菜单,其中包含用于选择拼写检查选项的按钮.
以下是构建Aquamacs的解释链接,在我的待办事项列表中查看构建脚本:
http://www.emacswiki.org/cgi-bin/wiki/BuildingAquamacs
编辑1:构建脚本对NSSpellChecker有更多的说法,因此需要查看的其他文件包括: nsterm.m和nsfns.m.我认为aquamacs-menu.el或osxkeys.el不必要,因为那些在site-start.el之后加载.它看起来越来越像NSSpellChecker在构建过程中硬编码到应用程序可执行文件中,与上面提到的文件一起.
编辑2:是的,这是拼图的缺失部分.应用程序包中的Aquamacs的可执行文件(即... Aquamacs.app/Contents/MacOS/Aquamacs)包含NSSpellChecker的硬编码魔法以及Aquamacs修改版本ns-win.el; flyspell.el; 和ispell.el.
编辑3:此时,一个选项是修改Aquamacs的构建脚本以及构建过程中使用的相关文件,以构建自定义应用程序.或者,创建混合也是可能的,但是它有自己的问题,因为Aquamacs可执行文件是硬编码的,例如one-frame-one-buffer-mode从Finder.app打开文件时的特殊性.switch-to-buffer-in-tab从Finder.app打开文件时; ns-application-activated需要设置为忽略; 包括init.el文件中的版本ID,以正确安静错误消息; 简单的菜单选项,面向Aquamacs节省选项; 以及其他一些显而易见的问题.简而言之,混合动力是可行的,但颈部疼痛.我确实有一个混合工作,但我确定我必须做更多的调整,因为我发现需要处理的更多Aquamacs自定义(由可执行文件创建).现在发布任何类型的答案还为时过早.构建脚本修改似乎是最佳解决方案,但需要大量时间才能正确修改它,以便创建隔离NSSpellChecker功能的自定义构建.
编辑4:我有NSSpellChecker一个工作版本是Aquamacs24的自定义生成的可执行文件(省略几乎所有Aquamacs除了拼写检查器),和Emacs的干线最近Emacs24的版本(每日构建).我正在等待接收一些技术支持使用终端下载Aquamacs24的最新分支与git,因为我有一些问题与终端重复ZIP版本.这个非常详细,我想在发布答案之前简化流程,我想事先彻底测试一下.
我正在寻找一些建议来创建一个自定义函数来dired-mode关联复制和移动文件,以便在目录尚不存在的情况下创建目录.默认行为是,如果目录尚不存在,则只生成错误消息.
STICKING POINT:我脑海中的关键点在于处理错误的创建多个目录的尝试.例如,让我们说,我们想从主目录中的文件复制~/到 /tmp/test/one/-该目录/tmp/test/已经存在,但/tmp/test/one/并没有尚未存在.相反打字/tmp/test/one/,我错误地输入/tmp/tesst/one-在这种情况下,应该有一个错误消息,说明类似- 嘿,你不能这样做,因为/tmp/tesst/首先必须存在之前,你可以创建/tmp/tesst/one. 当然,如果我输入正确,事情就会顺利进行,/tmp/test/one因为/tmp/test/在这个例子中已经存在了.
而且,最后,我假设我应该创建一个基于的新函数dired-do-create-files- 修改以下代码部分:
(if (not (or dired-one-file into-dir))
(error "Marked %s: target must be a directory: %s" operation target))
Run Code Online (Sandbox Code Playgroud)
任何超越贴切点的指导,或任何其他我未曾想到的危险,都将不胜感激.
我在OS X 10.9.4上使用Aquamacs.我的Preferences.el文件中有以下行(类似于.emacsinit文件):
(add-to-list 'load-path "~/.emacs.d/")
(require 'fill-column-indicator)
(setq-default fci-mode t)
Run Code Online (Sandbox Code Playgroud)
我M-x fci-mode用来手动切换列指示器.
如何fci-mode在启动时使用Aquamacs启用?
我正在寻找一些帮助来测量使用while循环时函数调用的时间- 也就是说,当函数抛出时,时钟应该停止.我在邮件列表上找到了以下计时器:http: //lists.gnu.org/archive/html/help-gnu-emacs/2008-06/msg00087.html
(defmacro measure-time (&rest body)
"Measure the time it takes to evaluate BODY."
`(let ((time (current-time)))
,@body
(message "%.06f" (float-time (time-since time)))))
Run Code Online (Sandbox Code Playgroud)
它的使用方式如下:
(measure-time
(dotimes (i 100000)
(1+ 1)))
Run Code Online (Sandbox Code Playgroud)
while将非常感谢如何将定时器宏与循环一起使用的示例.我正在寻找从while循环开始到done抛出结束之前的总时间.
(defun test ()
(measure-time)
(catch 'done
(while t
[*** do a bunch of stuff]
(when (condition-satisfied-p)
[*** STOP THE CLOCK AND PRINT TOTAL DURATION ***]
(throw 'done nil) ))))
Run Code Online (Sandbox Code Playgroud) 许多商业文字处理器具有默认行为,当文档中的文本行小于可见窗口时,该行为自动隐藏垂直滚动条; 并且,当文档中的文本行大于可见窗口时,滚动条会自动出现.Emacs缺少这种能力,我希望它能成为各种不同模式的默认行为.
有没有人有一些想法如何随着文档的大小(文本行)增加或减少自动删除或添加滚动条?
我在考虑将相关线程中的@phils先前的样本编织到行号的函数中:https://stackoverflow.com/a/10593165/2112489
即使我不使用它,我也希望它能够正常工作linum-mode.但是,我不认为滚动条功能应该在每个命令之后运行 - 它应该仅在添加或减去新行时运行,并考虑visual-line-mode(即,包装处于活动状态)可能处于活动状态.
以下片段的灵感来自@ abo-abo先前在相关主题中的回答:https: //stackoverflow.com/a/20923695/2112489
(cond
((not (> (count-lines (point-min) (point-max)) (window-height)))
(set-window-scroll-bars (get-buffer-window (buffer-name) (selected-frame)) 0 nil))
((and
(> (count-lines (point-min) (point-max)) (window-height))
(not (equal (window-scroll-bars) `(15 2 t nil))))
(set-window-scroll-bars (get-buffer-window (buffer-name) (selected-frame)) 15 'right)))
Run Code Online (Sandbox Code Playgroud)
编辑(2014年1月17日):工作草案基于@Drew对此主题的有用答案.
编辑(2014年1月19日):添加了一个函数,用于计算每个自动换行vertical-motion.在initial-frame-default创建初始帧之后设置似乎由Emacs读取,因此滚动条可以瞬间可见 - 为避免看到这一点,修改初始帧的帧参数似乎可以解决此视觉问题.现在使用window-text-height而不是window-height- 返回的高度不包括分隔符,模式行,任何标题行,也不包括文本区域底部的任何部分高度行. 复制使用的方法linum-mode- 使用 - post-command-hook,the change-major-mode-hook,和window-configuration-change-hook).添加window-live-p条件以避免post-command-hook …
我正在寻找一个如何从变量末尾删除一个或多个空格的例子.
(let ((test-variable "hello "))
(if (eq ?\s (aref test-variable (1- (length test-variable))))
(setq test-variable "hello")))
Run Code Online (Sandbox Code Playgroud) 目标:该线程的目标是创建两(2)个数学公式,以便在函数lawlist-calendar-cursor-to-visible-date(下面)中用@lawlist替换长手解决方案.
故事问题
现在,Emacs中存在一个12个月的日历,一次向前和向后滚动一个月(或更多).该功能lawlist-calendar-cursor-to-visible-date用于为指定事件(例如,生日,假期,约会等)的覆盖标记日期; 或者,只需将光标移动到特定日期.@lawlist已经设计了一个长手的解决方案,它没有完全使用数学方程来计算显示的365天中每一天的光标位置.有可能创建两(2)个简洁算法来替换长手解决方案.
可以在此处找到12个月滚动日历的工作草案(没有长手解决方案):
传说:
displayed-month (数字1到12)是显示在缓冲区左上角的月份,随着12个月日历向前或向后滚动,这个月会发生变化.
目标month(数字1到12)是我们需要从两个数学公式与援助,以找到月-根据日期被标记(例如,生日,节日,约会)的位置不同而不同,这取决于displayed-month在缓冲区的左上角.目标month可以在12个可能的位置中的任何一个.有三(3)个可能的x轴坐标(即,6,31,或56).有四(4)个可能的y轴坐标(即,0,9,18或27).[引用x/y坐标:http: //www.mathsisfun.com/data/cartesian-coordinates.html ]
A row定义为水平3个月.
A column定义为垂直4个月.
第一forumula必须等于0,9,18或27时的点是否在取决于row即,从顶部到底部- 1,2,3或4.
第二forumula必须等于6,31,或56时的点是否在取决于column即,从左至右- 1,2或3.
示例:
如果displayed-month …