Vim的Ctrl+N通常是这样工作的:我键入几个字母,点击Ctrl+N,Vim根据我所有打开的缓冲区中的单词提供补全
Emacs的解决方案不必完全相同。我主要是这样使用它:声明变量,然后在以后的代码中使用它。但是我喜欢不解析源代码的轻量级方法。试试hippie expand,绑定到您最喜欢的键
;; Allow tab to autocomplete
(defun indent-or-expand (arg)
"Either indent according to mode, or e
我想创建某种类型的elisp函数,并将其绑定到一个键,该键采用两种格式之一的URL,并生成一个HTML链接元素
以下是两种输入格式:
http://developer.apple.com/safaridemos/
http://developer.apple.com/safaridemos|Safari Demos
以下是两个所需的输出值:
<a href="http://developer.apple.com/safaridemos/">safaridemos</a>
假设我有两个文本文件A.txt和B.txt。我选择使用
emacs -no-splash -mm A.txt B.txt
现在,框架垂直分为两部分,文件A显示在左侧窗口中,文件B显示在右侧窗口中。但是,Emacs会自动选择文件B。我可以通过输入C-x o或ESC-:其他窗口1将点移动到其他窗口。但我希望自动执行此操作,例如在命令行或.emacs文件中
我试过了
emacs -no-splash -mm --eval `(other-window 1)` A.txt B.txt
但它不起作用。
我正在使用Emacs25.1,以及clojure模式的最新稳定版本。当打开clojure模式而不是其他主要模式(如js2模式)时,所有内容都是严格对齐的,在任何窗体之前都不允许有额外的空格。比如说,
(def
last (fn ^:static last [x]
(if (next x)
(recur (next x))
(first x))))
我无法在每行的第一个非空白字符之前插入插入插入后自动删除的空格。这种行为对我来说是不可取的
我正在研究beancount,并计划整合beancount会计和组织todo议程
****** TODO "Learn How to Use Beancount"
;;Skills accounting
2019-09-10 * "Learn How to Use Beancount"
Assets:Labor -2 HOUR
Expenses:Applications:Beancount
但是,当开始计时任务时
****** TODO "Lear
我通常使用以下终端连接到另一台服务器:
ssh username@xx.xx.xx.xx
然而,我现在已经经常使用emacs了,我想知道是否可以从emacs内部连接到远程Red Hat服务器
非常感谢您的建议,流浪汉模式是您的朋友。安装它,然后使用
C-x f RETURN /xx.xx.xx.xx.:~username/some/dir/somefile.txt
文件将在本地会话中打开。Emacs和Tramp会将您本地编辑的所有更新同步回服务器。Tramp模式是您的朋友。安装它,然后使用
标签: Emacs
syntax-highlightingorg-mode
我尝试了许多不同的语言并复制了各种示例,但我在orgmode中的代码块都没有语法高亮显示。以下是我正在尝试的:
#+begin_src python
def main():
print "Hello %s" % ("what's the problem")
#+end_src
#+begin_src c++
for (int i = 0; i < 30; i++)
{
cout << "Hello" << endl;
}
#+end_src
导
我一直在使用Centos 7 Emacs Tramp模式远程编辑文件,但我找不到如何将本地文件插入远程文件。我试着先打开本地文件,但我认为一定有更好的方法。感谢您的帮助。使用tramp打开远程文件,然后从tramp缓冲区执行M-x插入文件,并确保路径为本地路径,例如/foo/bar not/ssh:user@host:/foo/bar.用tramp打开远程文件,然后从tramp缓冲区执行M-x插入文件,并确保路径为本地路径,例如/foo/bar not/ssh:user@host:/foo/ba
我即将开始一个新的咨询工作,在那里我将结束我的工作
我试图找到PL/M的主要模式,但已经找到了
迄今为止,这一切都不成功
这里有人能告诉我emacs的PL/M模式吗
提前谢谢 有一个指向emacs的PL/I模式的链接。应该是
距离PL/M足够近。谢谢!将把它放到emacswiki中以供进一步参考
标签: Emacs
key-bindingsdocview
我在Emacs中工作,ergoemacs次要模式打开。该副模式将C-n和C-p相应地改变为M-k和M-i
在文档视图模式下,我可以使用M-I和M-k在一个页面内上下移动,但当到达页面的结束和开始时,滚动停止
我已经将doc view连续变量设置为t。结果如下:
如果ergoemacs次要模式打开,则使用M-k和M-i连续滚动不起作用
如果ergoemacs次要模式关闭,则使用C-n和C-p连续滚动有效
下一页C-x,]和上一页C-x,[始终有效
使用鼠标滚轮连续滚动始终有效
附言:
在写这篇文章
我在暂存缓冲区中尝试了以下操作:
(defun r-text-indent ()
(interactive)
(indent-line-to 4)) ;; 4 is just for example
(setq indent-line-function 'r-text-indent)
评估那些临时缓冲区将所有内容缩进4个空格。但所有其他缓冲区均未受影响
如何在所有纯文本缓冲区中使用此函数?您可以添加一个钩子,以便将变量设置为文本模式:
添加钩子的文本模式钩子
兰姆达
setq缩进行函
我需要帮助在我的Debian 7.2系统上安装emacs。
我已经查看了许多其他表单,无法安装emacs
我已经尝试过运行sudo-apt-get-install-emacs、sudo-apt-get-install-emacs23以及任何其他键入emacs的方法
我还尝试了返回两个404错误
sudo apt-get update
W: Failed to fetch http://ppa.launchpad.net/cassou/emacs/ubuntu/dists/wheezy/main/
窗口7,Emacs 25.1,直接+模式
路径:d:\temp\test\test2\test3\
在文件夹test3中有3个文件:file1.txt、file2.txt、file3.txt
当我在文件夹test3中并点击两个点时,我将进入文件夹test2。嗯
但当我点击一个点看到图片时,光标会转到file1.txt文件。
1.这是正确的行为吗
2.dired模式下的一个点是什么意思?我认为这是正确的行为。在目录列表中,单点通常表示当前目录。如果打开命令窗口并运行dir,也可以看到它
单击单点
标签: Emacs
flymakedefadvice
我正在考虑在重写Emacs 26之后从flycheck切换回flymake。flymake有一件事让我感到困扰,那就是它在模特线上占据了多少空间。它有一个字符串Flymake加上结果。这似乎是一件愚蠢的事情,但这是一个80字符帧上模式行的10%,只是为了一个名字!我想在我的模式行上看到很多重要信息,所以我尝试删除对我没有帮助的东西——我知道缓冲区中启用了哪些次要模式等,因为我配置了它们!就我个人而言,我宁愿根本不看名字,只看结果,或者最多看F或FM
我可以使用Demission完全删除模式行信息
我使用的是emacs 22.2.1和Ubuntu 9.04
我已经在.emacs文件中这样做了。每次我按“;”时缩进并创建新行或{}
if(success == 0)
{
printf("Success\n");
<---- if I press return key here it will go
<-- to here, and I have to tab to go to the code line.
映射返回到换行+缩进。或者,如果您愿意,您可以养成键入C-
如何修复中的简单宏foo
以下各项均无效:
(defmacro foo1 (a)
`(setq (eval ,a) t))
(defmacro foo2 (a)
`(setq ,(eval a) t))
(defmacro foo3 (a)
`(setq ,a t))
我真的不明白你在说什么。我想如果我得到它,我就可以修复宏了
更新:怀远解决方案工程:
(defmacro foo7 (a)
`(set ,a t))
(setq x 'b
a 'c)
(fo
标签: Emacs
org-modes-expression
我想从组织模式表导出到s表达式
| first | second | thrid |
|--------+--------+--------|
| value1 | value2 | value3 |
| value4 | value5 | value6 |
将变成:
((:FIRST "value1" :SECOND "value2" :THIRD "value3")
(:FIRST "value4" :SECOND "value5" :THIRD "value6"))
我计划写这样
标签: Emacs
pixelsscreen-size
我在多台机器、操作系统和平台上使用相同的.emacs。我希望调用时Emacs的默认帧大小与可用屏幕大小相对应(例如,在1600x1200桌面屏幕上,96行工作得很好,但在1280x800笔记本电脑上,我需要指定的行数不超过68行)
是否有返回系统屏幕宽度和高度的emacs lisp表达式
更新:我刚找到一个,但由于某些原因,在Windows XP系统上我的GNU Emacs 23.2中既找不到(x-display-pixel-width)也找不到(display-pixel-width)。继续研
我使用Aquamacs,我使用ELPA在~/.emacs.d/ELPA中安装文件
这个埃尔帕背后有什么魔力?我的意思是,如果没有ELPA,我应该下载并安装特定目录中的软件包,然后将这两行添加到.emacs中
(添加到列表“加载路径”包目录中)
(需要“包”)
但是,使用ELPA,我看不到任何添加到.emacs或/Users/smcho/Library/Preferences/Aquamacs-emacs/{Preferences.el,customizations.el}的内容。这怎么可能
补充
我安装了ClojureBox,但REPL不工作
如果我在*slime repl clojure*缓冲区中键入(+1 2),然后按enter键,则表达式文本将变为粗体,就好像已计算过一样,但屏幕上没有打印计算结果
有人能帮我弄清楚为什么我的REPL没有打印评估结果吗
谢谢。试着在*低级lisp*中查找,并在所有其他缓冲区中查找失败
clojure的*out*加上基于emacs slime swank的输出流捕获和重定向的绑定有时会让人觉得emacs正在吞噬输出。(当输出来自多个线程时,这会让人非常
假设代码:
Command provisionHostCommand = new Command() {
@Override
public void execute() {
final List<Host> hosts = new ArrayList<Host>(display.getSelectionModel().getSelectedSet());
eventBus.fireEvent(new Provis
标签: Emacs
elispsyntax-highlighting
它说可以使用高亮缩进面,但我不确定如何设置这个变量。或者在*.el中更改为什么。我使用白色背景,因此线条几乎看不见。深灰色或其他颜色会更好。以下是它的论点:
(defface highlight-indent-face
;; Fringe has non intrusive color in most color-themes
'((t :inherit fringe))
"Basic face for highlighting indentation guides."
:gro
有没有办法保持与shell的连接或保存密码?还是我必须在plink中进行身份验证
当然,如果你能给我一本手册或其他文件来解释这方面的细节,我会很高兴的
多谢各位 简而言之:您需要使用系统的SSH客户端设置对计算机的无密码访问
按客户分类:
有关此案例的更多文档可用。简而言之:您需要使用系统的SSH客户端设置对计算机的无密码访问
按客户分类:
有关此案例的更多文档可用。您的问题可以通过ssh密钥解决
您所要做的就是创建一个DSA密钥对,并将公钥放在名为authorized\u ke
有没有可能让flymake模式知道racket文件中的语法(或其他)错误,比如erlang或python?如果有必要的话,我将使用geiser模式处理racket。这可能非常简单,因为racket以标准的行:列格式发出警告消息
您甚至不需要调用编译器——只需通过racket文件运行代码就足够了。但作为一个半补充说明,更好的命令行是racket-qf文件。按照上面的方式运行代码的好处是它实际上会。。。运行它。更具体地说,它加载模块定义,然后调用它。使用-f它只会加载定义,而不会调用它,因此不会执行
我已经使用python模式很长时间了。我总是使用子词模式。但是子词模式在python模式下表现得很奇怪。例如,M-b移动。如果有一个名为test\u varialbe的变量,我将光标放在这个变量的末尾,在python模式下M-b将使光标指向t,而在其他模式下它将转到v
因此,我研究了子词模式的来源,发现了以下函数:
(defun subword-backward-internal ()
(if (save-excursion
(let ((case-fold-search n
我在Windows7上使用Emacs24。我安装了solarized主题,请参见此处:
很容易切换到颜色主题,例如,通过执行M-x加载主题,然后选择日光灯
但特别是太阳光的颜色几乎无法辨认。颜色甚至与图片的颜色不接近。我猜一个叫做»调色板«的东西有问题,请看这里:
有什么想法吗
编辑:我做了一个Emacs的截图,显示了很低的对比度
所以,我现在安装了它,我发现它缺乏对比。但这种差异似乎是由不同操作系统的字体呈现差异造成的
github页面上的截图很可能是在Mac OS上完成的,这使得字体最厚。
我正在使用,并且在使用tramp连接远程主机时遇到了一些问题。每次尝试连接时,都会出现以下错误:
Tramp: Opening connection for root@foo.example.com using ssh...
Tramp: Sending command `exec ssh -l root -e none foo.example.com'
Tramp: Waiting for prompts from remote shell
Tramp: Sending command `
标签: Emacs
elispsyntax-highlighting
我正在尝试为一种语言创建一个emacs语法突出显示,在这种语言中,注释被写成
;单行注释
;; This comment has
multipline lines ;;
为此,我需要修改语法表中的条目。我发现以下内容非常适用于多行评论:
(modify-syntax-entry ?\; ". 1234" sbgl-mode-syntax-table)
以下内容适用于单行注释:
(modify-syntax-entry ?\; "< b" sbgl-mode-syntax-tabl
标签: Emacs
agdahalting-problem
在一些地方,所有agda计划都会终止。但是,我可以构造如下函数:
stall : ∀ n → ℕ
stall 0 = 0
stall x = stall x
语法highlighter似乎不喜欢它,但没有编译错误
计算stall 0的范式将导致0。计算失速1的结果会导致Emacs挂起,看起来很像一个非终止循环
这是虫子吗?或者Agda有时能永远运行吗?还是发生了更微妙的事情?您看到的语法突出显示是一个编译错误。终止检查器的效果是以一种粉红橙色(“三文鱼”)突出显示非终止函数。您可能会注意到,包
标签: Emacs
elispemacs24emacs-faces
我正在使用Emacs24,控制台(8种颜色)和Solarized主题
我想通过以下方式减少评论的干扰:
(将面部前景的字体锁定注释分隔符面部设置为“黑色”)
(将面部前景字体锁定注释面设置为“黑色”)
这样,注释的颜色将与我们在图片上看到的hl行面相同。但是,当移动到包含注释的行时,我希望它们被反转(从hl行,黑色背景,普通前景,而不是黑色),这样我仍然可以阅读它们。请查看附加链接中的代码:作为替代,您也可以临时隐藏注释。请参见库中的命令“隐藏/显示注释切换”。将它绑定到一个方便的键上——非
假设我有这个代码
(hello world)
(hi world)
然后我想到我应该用以下形式来包装它:
(let (acc)
<>
(nreverse acc))
我通常是这样包装的。首先,我在待包装表单之前编写一个不完整的外部表单,如下所示:
(let (acc))
(hello world)
(hi world)
然后我按两次C-(paredit forward slurp sexp)来发出声音:
(let (acc)
(hello world)
(hi
我知道C-U0C-k可以做到这一点,但我真的希望使用C-Udelete从当前位置到行的开头,就像bash readline一样 不,你真的不想那样做——相信我C-u在Emacs中太重要了,不能用于其他用途。用另一个键来代替C-u所做的事情,最终对你来说是一件痛苦和麻烦的事,IMHO
相反,找到一些您熟悉的其他键,并将其指定给执行您所需操作的命令。例如,重新绑定已绑定到您并不真正关心的命令的密钥(例如M-k)
例如:
(defun kill-to-bol ()
"Kill text from
我一直在使用与MacOSX终端捆绑在一起的emacs,它很好,但它是一个旧版本。我喜欢它,因为我可以在OSX中轻松控制整个终端字体大小
我安装了emacs的最新版本,它似乎是另一种动物。它是一个带有按钮的伪gui,位于终端环境之外。我一直在想如何在没有运气的情况下调整屏幕的字体大小。有人能帮忙吗
也许我很笨,但我更喜欢我使用的旧版本emacs的纯文本特性。试图在其中强制使用菜单/鼠标系统似乎违背了系统的原始美。键入以下内容:
M-x text-scale-adjust
然后您可以使用该键:
我正在OSX上运行iTerm 2。我试图让它运行Emacs,在Emacs上我有一堆超级键绑定(s-a、s-f等)
在emacsforosx.com上的vanilla Emacs上,默认情况下该命令充当Super。在iTerm中,iTerm将其视为命令键。我看到了一种将其重新映射到Meta的方法。但如何将其重新映射到Super 我想你已经试过了,对吧
(setq mac-command-modifier 'super)
我可以想出一个可能的解决方法,其中包括在iTerm中重新映射键。转到:
iT
标签: Emacs
org-modeorg-babel
当我想导出带有结果的源代码块时,我想在它们之间添加一些文本,例如“Output:”,因为否则读者很难理解程序从哪里结束,输出从哪里开始-我如何实现在两者之间添加“Output:”
例如:
* Test
#+BEGIN_SRC python :results output :exports both
i = 5
print i
i = i + 1
print i
s = '''This is a multi-line string.
This is the second line.'''
我正在使用带有sass模式的Emacs和yasnippet来编辑.sass文件。这一切都很好,代码片段正在扩展。但由于sass模式需要haml模式,因此在编辑sass文件时也会加载haml代码段。这是相当恼人的,因为haml代码片段在sass中是无用的
我已在snippets目录中查找.yas父文件,但没有找到。我已经搜索了文档和elisp代码,但是设置或函数并没有跳出我的视线。当我在sass缓冲区中运行M-xyas descripe表时,我会在sass和haml的扩展表上显示
理想情况下,我希
以下设置在本地(OSX)运行良好,但会阻止Emacs在远程服务器(Linux)上正确显示目录/文件:
我通过以下方式登录到远程服务器:
C-x C-f /ssh:user@server:/home/user/
因此,dired列表开关需要在本地设置,但nil需要远程设置。如何通过编程实现这一点?尽管我很想使用一个钩子,但没有一个dired钩子允许这种定制,因为dired在如何加载东西方面有点懒惰
Advice将允许您通过编程方式切换dired列表开关的值,方法是允许我们用更多代码围绕“dire
在GNU Emacs中,我可以在不同模式下为前景类型设置不同的面,例如:
(custom-set-faces
'(message-header-to ((t (:foreground "LightGoldenrod1" :weight bold)))))
如何按模式设置帧的背景色?例如,组织模式背景将采用主题定义的任何颜色,但消息模式背景将为黑色
类似于这样的情况,除了以下情况不起作用:
(custom-set-faces
'(message-mode-frame ((t (:backgr
你能帮我调试这段代码吗?
它应该评估emacs主要版本,并相应地设置颜色主题。我已经测试了第一条语句,第二条语句没有返回任何错误,但是主题没有被应用。有线索吗
(if (<= emacs-major-version 23)
((require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(color-t
有什么不对劲吗
我的编码配置
(set-buffer-file-coding-system 'utf-8)
(setq file-name-coding-system 'gbk)
(unless (eq system-type 'windows-nt)
(set-selection-coding-system 'utf-8))
(prefer-coding-system 'utf-8)
也许你可以试试这个:
(设置语言环境“zh_CN.utf-8”)
在将此代码放入Emacs的配置文件后
我如何在Emacs上创建/发出编译命令,以便不需要在它和控制台之间来回切换?我通常希望将编译过程视为Emacs命令:
$ export PATH=/toolchain/gcc-linaro-arm-linux-gnueabihf-4.7/bin:$PATH
$ cd my/project
$ make CROSS_COMPILE=arm-linux-gnueabihf- all
我尝试按照下面的命令制作自己版本的M-x compile,但失败了,因为我对Lisp和Emacs的内部结构不够熟悉
在组织模式下,正常的层次结构如下所示:
* Section 1
Content of section 1
** Section 1-1
Content of section 1-1
** Section 1-2
Content of section 1-2
据我所知,标题后面的所有内容都属于该部分,直到它遇到另一个(更高或更低)标题
但是,是否可以在不使用其他标题的情况下中断当前节,并继续上一节的内容?比如:
* Section 1
Content of
我使用此代码在更改函数后向列表中添加了一个函数
(defun test-func ()
(message "foo"))
(add-hook 'after-change-functions 'test-func nil t)
现在,每当我手动更改缓冲区时,testfunc就会被调用。但是,当我使用insert以编程方式修改缓冲区时,缓冲区的内容会得到更新,但不会调用test func
每次更新缓冲区时,是否有关于如何激活测试函数的指针
更新:
我正试图在浏览器上转换并提供服务,这
我遵循他们在github上的指南,并将以下内容放在我的init.el文件中:
(require 'package) ;; You might already have this line
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(when (< emacs-major-version 24)
;; For important compatibility libra
我想定义一个命令,用预定义的regexp启动isearch forward regexp
假设我要查找所有出现的“aaa”或“bbb”。我可以与isearch forward regexp交互输入的regexp是\\(aaa\\\\\\\\bbb\\)
有没有办法在不以交互方式输入regexp的情况下执行此操作?我试过这样的方法:
(defun my-search ()
(interactive)
(isearch-mode t t)
(isearch-yank-string "\\(aaa\\
我正在使用Emacs Orgmode 9.1.3跟踪这个习惯,我在下面看到了一个非常有用的习惯。但是我不确定日期中的正斜杠/是什么意思
* NEXT HABIT
[2017-12-07 Thu 10:26]
SCHEDULED: <2017-12-07 Thu .+1d/3d>
:PROPERTIES:
:STYLE: habit
:REPEAT_TO_STATE: NEXT
:END:
*下一个习惯
[2017-12-07周四10:26]
预定:
:属性:
字体:习惯
:重复至
如果我使用的是邪恶模式和插入模式,那么一旦我输入了C-r=,是否可以粘贴另一个寄存器
当我尝试此操作时,它不会插入我请求的寄存器(例如,C-r“),该寄存器应该插入我删除的最后一个内容,而是尝试进行反向搜索
我正在尝试使用以下工作流:
命令-注释
/^[0-9][0-9]/-在行首找到一个两位数的数字
de-删除号码
i-进入插入模式
C-r=-调用表达式寄存器
(-2018 C-r)-从2018减去原始数字
因此,本质上,我想用its值替换行开头的数字,its值从2018中减去,最后一个项
我的emacs.d克隆自
它默认启用美化符号模式和飞行检查模式
搜索custom.el,但未找到相关设置
如何从myinit.el中禁用它们?(美化符号模式-1)
C-h f美化符号模式:
prettifysymbols模式是
“prog mode.el”。
(美化符号模式和可选参数)
切换“美化符号”模式。
使用前缀参数ARG,如果ARG为,则启用美化符号模式
肯定,否则禁用它。如果从Lisp调用,则启用
忽略ARG或nil时的模式。
启用“美化符号”模式和字体锁定时,符号
根据规则美化(显示
在终端模式下运行的emacs中使用组织模式(emacs-nw)时,我无法隐藏标题中的主星:
我看到过一些类似的问题,它们是:
或
附件中的图片是在尝试了建议的补救措施后(减去改变对比度,因为这会导致其他问题)
有没有办法隐藏这些前导起始点?你将组织隐藏设置为什么值?我当前的值是“白色”,所以我尝试了“黑色”。前景色还是后景色?它们都设置为“黑色”反向的不是打开了吗?你将组织隐藏设置为什么值?我当前的值是“白色”,所以我尝试了“黑色”.前景色还是后景色?两者都设置为“黑色”逆色调不是打开了
我正试图找到一种方法来自动化/简化以下用例:
我在一个长文件的中间,我粘贴了一些东西。
然后我想发送/移动当前行(到当前打开文件的顶部标题)。通常这是一些导入/要求功能
理想情况下,所有这些操作都应该在不丢失文件中的相对位置的情况下进行(无需手动设置标记)
我该怎么做
如果这很重要,我主要在邪恶模式下使用Emacs。以下是代码:
(将区域移动到缓冲区的开头(beg end)
将区域移到缓冲区的开头,然后返回
(交互式“r”)
(let((文本(缓冲区子字符串beg end)))
(省去远足
(
1 2 3 4 5 6 ...
下一页 最后一页 共 212 页