我在emacs中完成了所有终端工作,并且宁愿使用更丰富的工具来移动输出而不是"更少".更糟糕的是,任何时候在emacs内部的应用程序页面,它是非常烦人的,因为它是一个愚蠢的终端.
虽然我可以为"Mx man git-rm"交换"git help rm"之类的内容,但我宁愿在git中禁用所有内容的所有分页.然后,我不必寻找正确的咒语.
git config --global core.pager cat
Run Code Online (Sandbox Code Playgroud)
似乎没有做到这一点.
git config --global man.viewer "man -P cat"
Run Code Online (Sandbox Code Playgroud)
导致问题,因为"man -P cat"不是有效的可执行文件.
我怎样才能获得git来转储它的输出?
有些背景,我对Emacs Lisp很满意,并写了很多行.但是我从来没有写过主要模式,所以我对字体锁定机制的工作方式还不熟悉.
对于我目前的项目,我想添加内联的javascript和css突出显示html-mode.目前,我这样做是有MMM的模式,但它的体积庞大,我不使用它的其他功能,所以我只想做一个小的模式,甚至只是一个黑客工具,我可以添加到sgml-mode-hook只是做突出显示.
我发现本手册的这一部分非常缺乏一个例子,这个破坏代码的emacswiki 页面.
有人能告诉我一个如何做到这一点的明确例子吗?
编辑:我应该澄清,我不希望在javascript/css块中看到特定于模式的字体锁定.唯一的要求是我可以通过对它们应用不同的面来看到块.
阅读日期文字很容易:
(read-string "#inst \"2012\"")
;;; ? #inst "2012-01-01T00:00:00.000-00:00"
Run Code Online (Sandbox Code Playgroud)
如何输出日期作为#inst...文字?
这不起作用:
(pr-str (clj-time.core/now))
;;; ? "#<DateTime 2013-07-09T17:26:30.058Z>"
(read-string (pr-str (clj-time.core/now)))
;;; ? <err>
;;; RuntimeException Unreadable form clojure.lang.Util.runtimeException (Util.java:219)
Run Code Online (Sandbox Code Playgroud) 我遇到了一个有趣的包,它按字符进行快速导航,但我找不到它了,也记不起它的名字了.显然这个想法来自vim.肯定有一个emacswiki页面.
基本上,您按一个键进入次要模式,输入搜索词,并使窗口变暗,并按顺序突出显示窗口中搜索词的所有出现.然后你可以按"a"转到第一个,"b"转到第二个,等等.
有帮助吗?
编辑:我将添加vim标签,因为vim包名称足以让我找到它.
我想isearch/search-replace /只出现在代码中(不在注释或字符串中).
这一定是一个常见的问题,那么这个包已经做了什么呢?
如果没有现有的包这样做,我正在考虑一个小模式,其中基于fontification隐藏字符串和注释会起到作用.有吗?
我刚刚开始设置cedet跟随各种指南,包括Alex Ott的.
这是我目前在我的init文件中所拥有的内容.
(require 'cedet)
(semantic-load-enable-code-helpers)
;; imenu breaks if I don't enable this
(global-semantic-highlight-func-mode 1)
(global-semantic-tag-folding-mode)
Run Code Online (Sandbox Code Playgroud)
我非常喜欢代码折叠,因为语义比hideshow等软件包更多地了解代码.
我想为红宝石做同样的折叠.我知道cedet还有其他的东西,但我现在只是蘸着脚趾.
所以我在contrib /文件夹中看到有明智的ruby.el.看起来语义肯定知道如何解析Ruby.INSTALL表示它应该"自动"安装.我打开一个Ruby文件,代码折叠魔术三角形不存在.现在怎么办?
我正在寻找一个包装浏览器的"后退"按钮为dired.即某种方式回到以前访问过的目录.
我想到的用例是在调用^to父文件夹后更深入地遍历目录树.
应该在里面(lazy-seq ......)
(def lseq-in (lazy-seq (cons 1 (more-one))))
Run Code Online (Sandbox Code Playgroud)
还是出去?
(def lseq-out (cons 1 (lazy-seq (more-one))))
Run Code Online (Sandbox Code Playgroud)
我注意到
(realized? lseq-in)
;;; ? false
(realized? lseq-out)
;;; ? <err>
;;; ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6773)
Run Code Online (Sandbox Code Playgroud)
clojuredocs.org上的所有示例都使用"out".
涉及的权衡是什么?
我想制作一个具有其键映射(foo-mode-map)的次要模式(foo-mode),但是当用户按下不在(foo-mode-map)中的任何键时,次要模式应该退出。如何绑定turn-off-foo-mode所有其他键?
编辑:这是我根据所选答案提出的解决方案。它也接受数字输入。
(defalias 'foo-electric-delete 'backward-kill-word)
(defun foo-mode-quit (&optional arg)
(interactive)
(let ((global-binding (lookup-key (current-global-map)
(single-key-description last-input-event))))
(unless (eq last-input-event ?\C-g)
(push last-input-event unread-command-events))
(unless (memq global-binding
'(negative-argument digit-argument))
(foo-mode -1))))
(defvar foo-mode-map
(let ((map (make-keymap)))
(set-char-table-range (nth 1 map) t 'foo-mode-quit)
(define-key map "-" 'negative-argument)
(dolist (k (number-sequence ?0 ?9))
(define-key map (char-to-string k) 'digit-argument))
(define-key map [backspace] 'foo-electric-delete)
map))
(define-minor-mode foo-mode
"Toggle Foo mode.
With no argument, this command toggles the mode.
Non-null prefix argument turns on …Run Code Online (Sandbox Code Playgroud)