Tabyasnippet 的键绑定通常会覆盖其他有用的键.
有没有办法禁用TabYasnippet的绑定以启用其他Tab用法?
在 emacs prelude 中,我想要 SHIFT+箭头来选择文本。默认情况下,SHIFT+箭头分配给风移动。我在我的个人/预加载文件夹中创建了一个 Windmove.el 文件,其中包含以下内容
(windmove-default-keybindings 's)
Run Code Online (Sandbox Code Playgroud)
但有了这个,shift 和 command 键都绑定到了windmove。
如何只绑定命令键?
我正在测试在emacs中加载包init.el(Emacs 24.3).我按照作者的博客emacs prelude自动加载包,并将代码复制到我init.el的底部.但是,我收到有关loop函数/符号的错误消息,其中说:
Symbol's function definition is void: loop
Run Code Online (Sandbox Code Playgroud)
有人可以解释如何修复代码吗?
我在互联网上搜索过,似乎这loop是一个宏cl-lib.我的猜测是loop缺少定义,我试图通过添加修复问题(require 'cl-lib),如代码所示,但错误仍然存在.关于类似的错误消息还有其他SO问题,例如:ELisp:"符号的值作为变量的空白"的cl循环,符号的函数定义是void:declare-function.但错误消息在缺少的内容上有所不同,答案主要是建议替代路由,例如使用较新版本的emacs.
- 代码 -
(require 'package)
(add-to-list 'package-archives
'("melpa-stable" . "http://stable.melpa.org/packages/") t)
(package-initialize)
;;; check & load packages
(defvar prelude-packages
'( haskell-mode )
"A list of packages to ensure are installed at launch.")
;;(require 'cl-lib) ;debug
(defun prelude-packages-installed-p ()
(loop for p in prelude-packages
when (not (package-installed-p p)) …Run Code Online (Sandbox Code Playgroud) 在 Emacs Prelude 中,当存在与文件名“匹配”的文件时,我无法弄清楚如何创建新文件。
在示例屏幕截图中,我尝试spawn.exs在已包含名为 的文件的目录中创建一个名为 的文件spawn_basic.exs。当我用来C-xC-f创建新文件时,emacs 在打开时匹配spawn.exs并spawn_basic.exs命中Enter结果,spawn_basic.exs而不是创建spawn.exs.
我尝试了一些解决方法(即使用touch创建文件),但我正在寻找一种更简单的解决方案,只需要一个命令。如果没有命令可以执行此操作,是否有办法禁用 Prelude 中的文件名匹配功能?与普通的 Emacs 相比,我最喜欢 Prelude 的其他所有内容,所以我不想再切换回来。
我遇到一个错误:
scala-block-indentation: Wrong type argument: number-or-marker-p, nil
Run Code Online (Sandbox Code Playgroud)
每当我点击tab缩进时scala-mode.
我不知道代码出了什么问题,但想要修复它.但是,我只能在*Message*没有详细信息的缓冲区中看到此错误.我试图在Backtrace中看到这个错误,但不知道如何.我尝试(1)-debug-init启动emacs(2)debug-on-entry命令,scala-block-indentation但它们都不起作用.
有没有人有关于如何为此功能启用BackTrace/Debugger的想法?
I want to set the require-final-newline for every buffer to nil.
In my config file, I have :
(setq require-final-newline nil)
(setq-default require-final-newline nil)
Run Code Online (Sandbox Code Playgroud)
It appears to set the global value correctly. However in every buffer that I open, the local value is still t. Using describe-variable, I get :
require-final-newline is a variable defined in `files.el'.
Its value is t
Original value was nil
Local in buffer myfile.js; global value is nil
Run Code Online (Sandbox Code Playgroud)
files.el is in /usr/local/Cellar/emacs/24.5/share/emacs/24.5/lisp/ …
最近,我经常遇到这样的错误:
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)中写几行而不是修改源代码来完成任务.有没有人有这个想法?