Tag: emacs

如何快速开始使用和学习Emacs

使用Emacs有各种各样的优点,但对于那些熟悉Win32应用程序的人来说,它有一个类似于墙的学习曲线。 与大多数其他编辑器一起,可以开始使用它们,随后了解其他function和增强function。 如何才能继续使用Emacs,目的是达到这样的地步,您实际上更喜欢使用Emacs而不是其他编辑器或应用程序? 编辑 – 尝试和澄清问题:我已经完成了教程,阅读了一些文档等等,然后不久,当我想快速编辑一些文本时,使用另一个编辑器就更容易了,我已经知道了。 我需要做什么,不仅仅是为了更简单的编辑器,而是我更喜欢使用Emacs,以及如何尽快到达这里? 如果有Emacs的培训轮子呢?

如何debuggingelisp?

通常最简单的debugging方法是使用printf 。 我能做些什么来debuggingemacs-lisp? 如何从elisp打印emacs编辑器? 或者有什么方法来debuggingelisp代码? 例如,如何检查以下代码是否在.emacs文件中运行? (load "auctex.el" nil tt)

作为其他用户在其他机器上使用Emacs服务器和emacsclient

我知道,在我现有的Emacs会话中调用(start-server)之后,我可以使用emacsclient -c (在同一台计算机上)创build连接到该服务器的新帧,以便每个由emacsclient创build的新帧都可以访问同一组共享状态(如缓冲区)。 我发现的大多数文档都关注“让我快速访问我的本地Emacs”用例,所以有两件事情我还没有看到任何细节: emacsclient -c可以访问由其他用户启动的Emacs服务器,还是硬连接来检测仅由我自己的用户启动的会话? Emacs服务器(直接或间接)是否支持远程连接? 也就是说,是否有一些方法来设置Emacs(可能涉及到SSH),允许在远程机器上调用emacsclient -c访问Emacs服务器的本地状态? (如果您还没有猜到,我最终想要做的就是将上述两种技术结合起来,以提供基本的协作编辑支持。) 这是一个现实世界的问题,所以这就是我正在处理的事情: Emacs已经有了必要的function(23.3.1,64位)。 我可以从标准Ubuntu版本库扩展到Emacs扩展,但我不想。 (我相信,我不相信Rudel ,)。 没有新用户或用户欺骗。 解决scheme应该与现有的一组用户帐户一起工作,并且用户不能假装是其他用户(例如通过su或ssh )。 如果它有什么区别,机器是在一个专用的局域网上,有OpenSSH客户端和服务器安装(和运行),所有用户可以连接到(他们自己的帐户)所有机器,但他们没有共享文件系统。 那么,有人知道Emacs服务器是否可以 向其他用户授予访问权限,或者 提供远程访问? 编辑 正如在rwb的回答中所评论的那样,很显然,通过运行emacsclient -c在本地打开的新窗口实际上是由远程 Emacs服务器进程创build的。 也就是说, emacsclient只是触发服务器中的相关行为。 这会导致一些显示设置不正确的问题,因为服务器通常不能访问本地桌面(见下文)。 但是,如果使用以下命令序列,则现在可以连接到远程Emacs会话: 在一个terminal中, 1.22.333.44是1.22.333.44的IP地址: ssh -t -X remotehost \ "emacs -nw –eval '(progn (setq server-host \"1.22.333.44\" server-use-tcp t) (server-start))'" 然后在另一个(在同一台机器上): scp remotehost:.emacs.d/server/server /tmp/server-file DISPLAY=localhost:10 emacsclient -c -f […]

R的Emacs模式?

在emacs中是否有一种语法突出显示R编程语言的模式? R模式似乎不工作…

如何阻止emacs用< – 在ess模式下replaceunderbar

ess-mode是“Emacs发言统计”。 此模式对于编辑R或Splus程序(两个单独的统计软件包)非常有用。 在我的缓冲区中,当我input_ ,字符被replace为<- ,这是非常令人沮丧的。 有没有emacs lisp语句来closures这种行为? emacs:22.1.1 ess-mode release(unknown)

为特定的Emacs模式设置自定义键盘绑定

虽然我知道如何在Emacs中设置一个全局的键绑定,但我发现甚至Google很难将代码用于本地(次模式特定)键绑定。 例如,我在我的.emacs有这样的代码: ;; PDFLaTeX from AucTeX (global-set-key (kbd "Cc Mp") (lambda () (interactive) (shell-command (concat "pdflatex " buffer-file-name)))) 我不想在全球范围内设置。 有没有像local-set-key ?

在Emacs中保留窗口布局

我以某种方式设置了我的窗户。 如何保存此设置以后调用?

如何用yank缓冲区内容replaceemacs中的区域?

当我使用VIM或最无模式的编辑器(Eclipse,NetBeans等)时,我经常执行以下操作。 如果我有类似的文本块,我需要改变它们,我会改变它,复制它(或使用非删除阴阳),select我需要的下一个块,并粘贴更改后的版本。 如果我在emacs中做同样的事情(select区域并贴上Cy),它不会取代区域,它只是粘贴在光标位置。 在emacs中这样做的方法是什么?

无法在emacs中input花括号和方括号

我正在运行Mac OS X和GNU Emacs 22.3.1。 我使用瑞典的键盘。 我无法在emacs中键入大括号{ } , [ ] 。 当试图键入大括号时,我得到括号。 由于我对Mac和emacs相当陌生,所以我需要一点帮助来configurationemacs来获得这个权利。

如何使用Emacs Lispdynamic范围界定?

我以前学过Clojure,非常喜欢这种语言。 我也爱Emacs,并用Emacs Lisp破解了一些简单的东西。 但是有一件事情可以让我在精神上阻止Elisp做更多的事情。 这是dynamic范围的概念。 我只是害怕它,因为它对我来说太陌生了,闻起来像是半全球variables。 所以对于variables声明,我不知道哪些事情是安全的,哪些是危险的。 从我所了解的情况来看,使用setq设置的variables属于dynamic范围(是吗?)让variables怎么样? 我读过的一些地方,让你做简单的词法作用域,但是我读的其他地方,让vars也dynamic范围。 我最担心的是我的代码(使用setq或let)意外地打破了我调用的平台或第三方代码中的一些variables,或者在这样的调用之后,我的本地variables意外地混乱了。 我怎样才能避免这一点? 是否有一些简单的经验法则,我可以遵循,准确地知道范围发生了什么,而不会被一些奇怪的,难以debugging的方式咬伤?