我希望能够以异步方式等待进程,例如:
(start-file-process "my-process" "*my-process*" "do" "something")
(on-finish "my-process"
(do-something-else))
Run Code Online (Sandbox Code Playgroud) 我想用相同的字符串修改文件的不同部分。所以我在 emacs 中安装了多光标。但不幸的是,我不能做(简单?)标记文本的不同部分并开始编辑的事情。
我检查过的每个命令似乎对做我想做的都没有用。例如,考虑我需要编辑第 10 行的开头和第 34 行中间的一个字符。我该怎么做?
我有一个不适合 ansi-term 的包(evil)。当 term-mode 处于活动状态时,我试图让 emacs 禁用邪恶模式。我正在使用以下命令尝试这样做
(add-hook 'term-mode-hook (lambda() (evil-mode -1)) )
Run Code Online (Sandbox Code Playgroud)
但是,一旦我打开 ansi-term,这会以某种方式禁用除 term-mode 之外的所有模式中的邪恶模式。任何帮助,将不胜感激。
我正在使用 Emacs 24 并尝试使用该elpy包,但收到错误:
“符号的函数定义无效:elpy-enable”
(package-initialize)
(elpy-enable)
(elpy-use-ipython)
Run Code Online (Sandbox Code Playgroud)
我正在使用的模式(elpy)只是说将这些行添加到我的 .emacs 文件中,一切都会好起来的(我已经在 python 端安装了这个模式)。
加载 emacs--debug-init提供以下内容
(elpy-enable)
eval-buffer(#<buffer *load*> nil "/home/tk12098/.emacs" nil t) ; Reading at buffer position 354
load-with-code-conversion("/home/tk12098/.emacs" "/home/tk12098/.emacs" t t)
load("~/.emacs" t t)
#[0 "\205\262
Run Code Online (Sandbox Code Playgroud)
队伍开始#[0 "....似乎要持续一段时间。
我应该如何解决这个问题?
我如何设置宏来处理多个文件?
例如,假设我有多个角度应用程序,我想为每个模块添加一个注射器?
所以对于每个这样的文件
./apps/app-name/index.js
Run Code Online (Sandbox Code Playgroud)
我想找到第一个例子
angular.module('module-name', ['list', 'of', 'injectables']);
Run Code Online (Sandbox Code Playgroud)
要么
angular.module('other-module-name', [
'list',
'of',
'injectables']);
Run Code Online (Sandbox Code Playgroud)
并在列表的末尾添加另一个项目.
正如文档所说, RET 将comint-send-input在 shell 模式下的任何地方。问题是,如果您错误地在任何行上按了 Enter 键,并且您没有收到提示,它将执行整个随机文本,直到下一个提示。我怎样才能防止这种情况发生?如果点击Enter提示之外的任何地方会将您发送到底部的新提示,那就太好了。
我想将 .emacs 保留在 Dropbox 文件夹中,以便在工作和家庭之间同步。
我将 .emacs 移至我的保管箱文件夹,然后(硬)链接它,如下所示:
ln ~/Dropbox/.emacs ~/.emacs
然后,如果我在 emacs 中打开 ~/.emacs,编辑并保存它,它会删除 .emacs 硬链接并用新的 .emacs 覆盖它,因此链接消失了。我有两个单独的副本,一个较新的 ~/.emacs 和一个过时的 ~/Dropbox/.emacs。
我可以编辑 ~/Dropbox/.emacs 文件,但有时 emacs 会自行向 .emacs 写入一些内容(例如自定义变量),然后问题会再次出现。
如何让 emacs 不覆盖该特定文件?或者有没有办法启动 emacs 并告诉它从哪里读取 .emacs?
[编辑已解决]
有人发表了关于使用软符号链接而不是硬链接的评论。这实际上对我有用并解决了问题。但后来发这条评论的人不知为何又删除了。~谢谢你是谁~
假设我有一个变量newName,它带有一些模式名称,例如"python-mode".如何创建newName指定的模式的当前缓冲区?
(progn
(let (newName)
(setq newName "python-mode")
(newName) ;; doesn't work! It doesn't set current buffer's mode to be a python mode.
)
)
Run Code Online (Sandbox Code Playgroud)
这也行不通:
(set-variable 'major-mode "python-mode")
Run Code Online (Sandbox Code Playgroud)
这个问题是基本的 - 因为它等于"是否真的可以将数据视为lisp中的代码?"
编辑
@phils
您的解决方案对我不起作用.我复制一个缓冲区 - 我希望新的缓冲区具有与旧缓冲区相同的模式.所以我将原始缓冲区的模式存储在变量中.然后尝试应用您的解决方案.它给出了错误(这是本质 - 我在这里省略了缓冲区复制的东西):
(let (sameMode)
(setq sameMode major-mode)
(funcall (intern sameMode))
)
Run Code Online (Sandbox Code Playgroud)
sameMode以"python-mode"的形式存储此模式(python-mode的示例).
我正在使用Emacs编辑器,每次启动Emacs时,我都会丢失以前的设置.
例如,每次我必须键入:
cua-mode RETauto-complete-mode RET如何在Emacs中保存我的设置?
谢谢.
emacs ×9
elisp ×2
asynchronous ×1
comint-mode ×1
config ×1
dot-emacs ×1
evil-mode ×1
macros ×1