标签: emacs24

emacs 中 ansi term 中的奇怪字符

我编写了一个 C++ 程序,当我在 ansi-term 中使用 g++ 编译它时,显示了一些奇怪的字符:

在此输入图像描述

如果需要,错误是我没有声明变量 n。我该如何纠正这个问题?

emacs ascii elisp emacs23 emacs24

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

Emacs 客户端:Cx k 和 Cx # 之间的区别

当在带有客户端的守护进程中运行 emacs 并点击 Cx k 时,它显示:Emacs 缓冲区仍然有客户端。你确定你要退出吗?

但是当使用Cx#时,它立即退出。

我不明白其中的区别。如果 Cx k 在客户端中,为什么它一开始就不表现正常?

我发现这个片段应该使 Cx k 行为正常,但我不明白其中的区别。

此外,当 emacs 客户端启动时,它会从先前的缓冲区开始几秒钟,然后打开新的缓冲区。emacs 服务器的目的不就是加快初始启动时间吗?为什么会这样做/我该如何修复它?初始加载时,它会从头开始几秒钟。

emacs emacs24 emacs-server

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

组织模式:点导出为省略号

当我在 org-mode 8.2.5h 中导出到 ascii 时:

...
Run Code Online (Sandbox Code Playgroud)

导出如下:

Run Code Online (Sandbox Code Playgroud)

我该如何防止?

org-mode emacs24

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

为emacs更改所有`=`到`eq`

最近,我经常遇到这样的错误:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
Run Code Online (Sandbox Code Playgroud)

我发现在某些情况下,错误是由这样的表达式引起的:

(= nil 4)    
Run Code Online (Sandbox Code Playgroud)

我不确定这个表达式是否打算像这样编写,但只有在我将其更改为:

(eq nil 4)
Run Code Online (Sandbox Code Playgroud)

但是,(1)我需要将所有内容替换=eqemacs lisp脚本(2)我不确定代码是否应该像这样修改.

我想知道我是否可以在配置文件(.emacs)中写几行而不是修改源代码来完成任务.有没有人有这个想法?

lisp emacs elisp emacs24 emacs-prelude

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

如何在 Windows 显示屏的右上角启动 emacs?

回到我的 Unix 时代,我曾经可以通过在启动时指定一个选项来在屏幕右上角启动 Emacs geometry。但是,如果我使用

C:\Emacs\emacs-24.2\bin\runemacs.exe -geometry 80x60-0+0 --debug-init
Run Code Online (Sandbox Code Playgroud)

在 Windows7 上,Emacs 窗口不会停留在右上角。它确实短暂地出现在右上角,然后窗口在 Emacs 初始化时调整大小,并移出右上角。看起来调整大小是由于字体的规范造成的,因为当我在 .emacs 中注释掉以下行时,窗口仍位于右上角。

(set-default-font "-*-Courier New-normal-r-*-*-12-90-*-*-c-*-*-ansi-")
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何强制 Emacs 进入屏幕的右上角(除了使用默认字体)。;)

windows emacs emacs24

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

Bash:使用引号将变量作为参数传递

我试图将一些论据传递给ecb.但我认为这是一个逃避引用的问题.下面的$ edir变量特别给出了很多问题.

#!/bin/bash

edir='"(open-project-ecb \"'`pwd`'\")"'

#edir=`pwd`

echo $edir

command=( -n --eval $edir)

emacsclient "${command[@]}"
Run Code Online (Sandbox Code Playgroud)

bash shell emacs24

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

是否有magit中的功能,emacs git add-on,可以跳转到编辑?

在Jetbrains产品中,如IntelliJ和RubyMine,你可以在git diff的diff窗口中点击F4跳转到当前编辑.Magit中是否有任何功能可以让emacs从git直接转到diff?

git emacs elisp magit emacs24

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

由于其定义无效,无法重新绑定Cx C以使用haskell模式特定函数

为了在haskell模式下执行保存的特定操作,此页面建议重新C-x C-s绑定要使用的键绑定haskell-mode-save-buffer而不是仅使用标准save-buffer命令:

(define-key haskell-mode-map(kbd"Cx Cs")'haskell-mode-save-buffer)

预期的行为是能够将haskell模式特定的挂钩添加到标准save命令.所以我已将它添加到我的~/.emacs文件中.

但是当我在haskell模式下使用此键绑定时,会发生以下错误:

符号的函数定义为void:haskell-mode-save-buffer

我还在.emacs文件中添加了这一行:

(add-hook'haskell-mode-hook'haskell-mode-save-buffer)

但它没有帮助.我想它似乎没有做任何事情,因为haskell-mode'save-buffers定义是void,所以我想将它添加到东西将无济于事.我也尝试添加该行

(define-key haskell-mode-map(kbd"Cx Cs")'haskell-mode-save-buffer)

haskell-mode.el文件本身(已安装目录(ELPA)中的文件),但我真的不知道这是否有帮助.我不能调试那种东西.

我试图找出是否在haskell-mode中定义了这个函数.M-x describe-variable "haskell-mode-"使用TAB 运行表明它在这组变量中不存在.编辑:正如评论中指出的,我应该describe-function尝试找到这个功能.M-x describe-function "haskell-mode-"使用TAB 运行显示haskell-mode-save-buffer在此处找不到.有趣的是,这里列出了两个似乎暗示能够提供预期功能的功能:

哈斯克尔模式 - 之前保存处理程序

[...]

哈斯克尔模式 - 后保存处理程序

haskell-mode.el文件中搜索"haskell-mode-save-buffer"不会产生任何结果.

在我的结尾有什么问题,我是如何重新绑定密钥的(没有明确提到我应该添加该行.emacs,无论如何,这只是我的假设),或者这是添加钩子的方式到haskell-mode中不再使用的save命令了吗?

emacs emacs24 haskell-mode

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

如何在emacs中将Ca和Ce重新绑定到Home和End?

我正在使用我的eMac的罗技pc键盘,并希望像往常一样使用Home和End按钮.我已经为mac终端反弹了.并希望在emacs中重新绑定它们.

macos emacs emacs24 osx-mavericks

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

Emacs Lisp 嵌套函数 - 无效变量错误

我想做一个计时器,像这样:

(defun dumb (y)
  (defun P () (print y))
  (run-with-timer 0 5 'P))

(dumb 5)
Run Code Online (Sandbox Code Playgroud)

然后 Emacs 给了我这个错误:

Error running timer `P': (void-variable y)
Run Code Online (Sandbox Code Playgroud)

我猜问题是在该(defun P () (print y))行中,变量y没有被评估,所以当我运行时(dumb 5),函数P尝试打印y未定义的,而不是文字5。但我不知道如何解决它。任何的想法?

elisp emacs24

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

为什么这个全局变量只能设置两次,而不能再设置?

我试图在elisp中创建一个简单的解析器,我遇到了一个问题,我defvar是一个全局的,然后我将setq一个新值放入其中.这是第一次工作.然而,后来setq每次都失败了.

以下代码是问题的简化:

(defvar buf '(BUF))
(defvar head nil)

(defun pparse (seq)

  (defun status ()
    (princ (format "Parse: %40s || %-20s\n"
           (prin1-to-string seq) (prin1-to-string buf))))

  (while seq
    (status)
    (setq head (car seq))
    (setq seq (cdr seq))
    (cond ((equal "x" head)
       (nconc buf (list head)))
      ((equal "," head)
       (setq buf '(BUF))
       ;;(setcdr buf nil) <- fixes it but doesn't answer my question
      )))

  (status))

(pparse '("x" "," "x" "," "x" "," "x"))
Run Code Online (Sandbox Code Playgroud)

哪个产生这个输出:

Parse:            ("x" "," …
Run Code Online (Sandbox Code Playgroud)

lisp elisp emacs24

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

Emacs Whitespace Mode忽略whitespace-line-column和fill-column

我在Mac OS X上使用Emacs 24.1.1时遇到了问题.我正在编辑Jade和CoffeeScript文件,因此我为这些文件类型打开了空白模式.

我所看到的是,无论whitespace-line-column的设置如何,都会用空白行字体突出显示超过70个字符的行.

屏幕截图的问题

在这个镜头中,很明显我已经定制了whitespace-line-column来跟踪填充列,并且我将fill-column设置为120,但是突出显示了更短的行.

我已经浏览了Jade模式的代码,并没有看到任何可以解释这种行为的东西,但我对Emacs Lisp只有了解.

提前感谢任何指针!

emacs whitespace emacs24

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

Emacs在分割窗口之间移动而不是C + x 0

如果我在拆分窗口之间移动,请参阅此SO答案/sf/answers/327030791/

C-x o
Run Code Online (Sandbox Code Playgroud)

执行此操作时,它会关闭左侧缓冲区/拆分.我只是想在分裂之间跳跃而不是关闭当前的分裂.

我该怎么做呢?

emacs emacs24

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