小编Ste*_*fan的帖子

Emacs shell脚本模式钩子

由于某种原因,我的shell脚本模式挂钩不会被执行.我的.emacs中的示例:

(add-hook 'shell-script-mode-hook (lambda () (rainbow-delimiters-mode 1)))

导致设置变量,但未为打开的脚本文件加载模式.在这里挂钩的正确方法是什么?

我使用默认的shell脚本模式(例如,modeline说Shell-script[bash]).我是否必须单独挂钩每个shell类型(sh,bash,zsh)?如果是的话,请告诉我怎么样?

非常感谢你!

EDIT3:

结果是由于textmate模式与sh-mode中的骨架对插入冲突(我试图通过在sh模式中禁用textmate来避免冲突,然后在sh-mode中留下了sh-mood-hook aparatus我完全删除了textmate模式,现在使用标准的骨架对approch globaly.

我会接受phils回答 - 没有他,我可能无法自己调试.

EDIT2:

感谢phils,我认为他的评论让我们更接近解决方案.然而,彩虹分隔符并不是问题.我删除了除你的hello消息之外的所有sh-mode-hook并重新启动Emacs.当我打开.sh文件时,我得到了这个:

为shell类型bash设置缩进设置缩进内容缩进变量现在是本地的.shell类型bash的缩进设置文件模式规范错误:(void-function nil)

注意没有"你好"的消息.sh-mode-hook的值是: (nil (lambda nil (message "hello")))

我认为这个问题是第一个零值 - 尽管我没有看到它会被设置在任何地方.

如果我评价这个:

(setq sh-mode-hook t) (add-hook 'sh-mode-hook (lambda () (message "hello")))

我看到了hello消息,但是在重新启动之后(我将这些行放在.emacs中)它再次消失(nil再次位于挂钩之上).

知道怎么做才能在安装时有活动的钩子吗?

编辑1:我也尝试过:

(add-hook 'sh-mode-hook (lambda () (rainbow-delimiters-mode 1)))

同样的负面结果 - 不确定这是否相关虽然......

emacs bash shell

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

即时银行帐号验证

今天我不得不将真实(死树)信件中的银行帐号复制到Emacs缓冲区,然后通过电子邮件发送.我把它从信件复制到Emacs缓冲区时忘记了一个错误(忘了一个数字).这导致一位来自同事的电子邮件告诉我:"无法付款,伪造IBAN".

创建一个函数/次模式有多难:

  • 检测看起来像IBAN的"东西"(例如两个大写字母后面跟着'x'和'y'数字,忽略空格等.那里有现成的正则表达式,可以验证是否有类似IBAN的东西或不)

  • 如果它看起来无效,则运行mod 97并以红色突出显示IBAN

理想情况下,我需要一个次要模式,我可以打开几种类型的缓冲区(愚蠢的文本文件,但也电子邮件等).

使用Emacs做什么的"方法"是什么?

validation emacs elisp iban

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

扎根但苏说"权限被拒绝"

我有这款"老式"联想A2107平板电脑,这是我多年前的根源(使用http://androidforums.com/threads/a2107-root-mods-and-rom-discussion.661261/下载,运行其root.bat从我的GNU/Linux机器手动编写脚本)并且工作正常.

然后我将这款平板电脑传递给了我的女儿几年,现在我把它拿回来了.

/ system/bin/su仍然存在,仍然是相同的日期和大小,仍然模式"rwsr-sr-x",仍然是相同的固件(Android 4.0.3)所以看起来都很好,但是当我尝试从它运行它一个shell,它只是告诉我"Permission denied".

知道可能会发生什么吗?我可以尝试做些什么来追踪它?

android su

6
推荐指数
2
解决办法
2万
查看次数

在spring boot中找不到DiscoveryClient bean错误

2017-03-16 16:09:08.821  INFO 9104 --- [           main] com.hello.EurekaClientApplication        : No active profile set, falling back to default profiles: default
2017-03-16 16:09:08.848  INFO 9104 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5dcd8c7a: startup date [Thu Mar 16 16:09:08 CDT 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@441772e
2017-03-16 16:09:09.873  INFO 9104 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Overriding bean definition for bean 'hystrixFeature' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration$HystrixWebConfiguration; factoryMethodName=hystrixFeature; initMethodName=null; destroyMethodName=(inferred); defined in class path resource …

spring-boot netflix-eureka

6
推荐指数
2
解决办法
8499
查看次数

Emacs每个文件自定义

我有一个带有自定义宏的Emacs Lisp文件,我希望它有所不同.代码如下:

(defmacro* when-let ((var value) &rest body)
  `(let ((,var ,value))
     (when ,var ,@body)))

(defun func ()
  (when-let (a 1)
    a))
Run Code Online (Sandbox Code Playgroud)

我希望像上面那样when-let精通font-lock-keyword并缩进.我知道我可以在我的.emacs文件中执行此操作,但我更喜欢将其作为本地目录或文件本地自定义.问题是目录本地和文件本地自定义似乎仅限于设置变量.在我的.emacs文件中,我有以下内容.

(add-hook 'emacs-lisp-mode-hook
   (lambda ()
             (put 'when-let 'lisp-indent-function 1)
             (font-lock-add-keywords nil
                                     '(("(\\(when-let\\)\\>" 1
                                        font-lock-keyword-face)))))
Run Code Online (Sandbox Code Playgroud)

我想要这个,.dir-locals.el因为它只适用于一个文件.

emacs elisp

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

emacs乳胶挂钩没有运行

所以出于某种原因,我在emacs中使用auctex的乳胶模式的一些钩子拒绝运行但没有给出任何错误(至少我没有在消息缓冲区中看到).这是我的.emacs中关于latex的大部分内容(除了一些关键字定义等等).我在Arch Linux上使用最新版本的auctex运行Emacs24.2.已经冥想了一段时间了,据我所知,这曾经工作得很好,直到今天我注意到flyspell和自动填充没有自动设置(可能已经发生了一段时间以这个速度,因为我避风港一段时间不使用auctex.


(add-to-list 'load-path "~/Dropbox/Emacs/")
(add-to-list 'load-path "~/Dropbox/Emacs/git/")
(add-to-list 'load-path "~/Dropbox/Emacs/magit/")
(add-to-list 'load-path "~/Dropbox/Emacs/GLSL/")

;; auto-complete (require 'auto-complete) (require 'auto-complete-config) (require 'auto-complete-clang) (ac-flyspell-workaround) (add-to-list 'ac-modes 'LaTeX-mode) (ac-config-default) (setq ac-quick-help-delay 0) (define-key ac-mode-map [(control tab)] 'auto-complete) (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers)) (global-auto-complete-mode t) (add-hook 'emacs-lisp-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-symbols 'ac-source-variables))) (defun add-sources-c-modes () (add-to-list 'ac-sources 'ac-source-semantic 'ac-source-clang)) (add-hook 'c-mode-hook 'add-sources-c-modes) (add-hook 'c++-mode-hook 'add-sources-c-modes) (define-key ac-completing-map "\C-n" 'ac-next) (define-key ac-completing-map "\C-p" 'ac-previous)

;; DocView (setq doc-view-continuous t) (setq doc-view-resolution 300)

;; …

Run Code Online (Sandbox Code Playgroud)

emacs latex elisp auctex

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

这是一个适当的Emacs(24.3.2)lisp样式来从.emacs加载用户.el文件吗?

我的"〜/ .emacs.d"目录中有几个.el文件,我在.emacs文件中添加了以下行,以便在启动时加载它们:

(let ((base "~/.emacs.d/")
      (files '("user.el" "erlang.el" "sbcl-slime.el"))
      (bfload (lambda (file) (load (expand-file-name (concat base file))))))
   (mapcar bfload files))
Run Code Online (Sandbox Code Playgroud)

它有效,但这是正确的Emacs Lisp风格吗?请问如何改进?

emacs elisp

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

如何获取Git将使用的"提交者"信息

读取DOC,我看到,我可以预测哪些Git会通过合并为"提交者"使用git config user.namegit config user.email沿$GIT_COMMITTER_NAME$GIT_COMMITTER_EMAIL.但是当我编写执行该操作的代码时,我最终会感觉到我正在重写已经存在于Git中的一大块代码,而我更倾向于重用Git自己的代码.

所以,就像我更喜欢使用git rev-parse --git-dir而不是寻找.git和/或检查$GIT_DIR,我想使用命令git show-me-the --committer来获得通常的NAME <EMAIL>字符串.然而,我在手册中找不到这个.

git

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

#+NAME 和 #+LABEL 在组织模式下有什么区别?

#+CAPTION: kernel version
#+LABEL: fig:myfigure
#+NAME: fig:myfigure
[[/home/victor/myblog/pic4.png]]
Run Code Online (Sandbox Code Playgroud)

在组织模式下,似乎#+LABEL#+NAME都用于交叉引用。它们之间有什么区别?

emacs org-mode

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

在命令行中调用 man 命令时如何使用 emacs 查看手册页?

我想在调用 man 命令时使用 emacs 查看手册页。我将/etc/man.confPAGER 中的 pager 参数修改为emacs.

但是,它不起作用。有什么我应该修改的吗?

emacs manpage pager

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

标签 统计

emacs ×7

elisp ×4

android ×1

auctex ×1

bash ×1

git ×1

iban ×1

latex ×1

manpage ×1

netflix-eureka ×1

org-mode ×1

pager ×1

shell ×1

spring-boot ×1

su ×1

validation ×1