首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重置定义并重新加载.emacs而不关闭,或重新启动Emacs并重新打开缓冲区

重置定义并重新加载.emacs而不关闭,或重新启动Emacs并重新打开缓冲区,这个操作可以更新Emacs的配置文件,而不会影响其他正在运行的Emacs实例或应用程序。

为了实现这个操作,可以使用Emacs的“备份”功能,该功能可以备份当前Emacs的配置文件,以便在需要时恢复备份的文件。

备份Emacs的配置文件后,可以运行以下命令来重置定义并重新加载.emacs:

代码语言:txt
复制
(setq backup-directory-alist `(("." . ,backup-directory-alist))
      backup-by-copying t
      delete-old-versions t
      kept-new-versions 6
      kept-old-versions 2
      version-control t)
(load ".emacs.d/backup-load.el")

这个命令将备份当前Emacs的配置文件,并将其存储在当前目录下的备份目录中。然后,它将从备份目录中加载配置文件,并将其用作新的配置文件。

完成上述步骤后,可以使用以下命令重新启动Emacs:

代码语言:txt
复制
(setq custom-file (concat user-emacs-directory "custom.el"))
(load custom-file)

这个命令将重新加载自定义的Emacs配置文件,并使Emacs恢复到之前的状态。

需要注意的是,重新加载Emacs可能会导致所有当前打开的Emacs实例或应用程序崩溃,因此,在运行上述命令之前,请确保您已经备份了所有打开的Emacs实例或应用程序的状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

10 个让你进入 Emacs 世界的技巧

例如,如果你不知道如何在 Emacs 中只用键盘快捷键复制一个单词,编辑菜单的复制、剪切和粘贴选择提供了最轻松的路径。没有理由因为选择了 Emacs 惩罚自己。...你应该在你需要的时候使用它们,当你最终在 VT100 终端上通过 SSH 使用 Emacs,没有 Alt 方向键的时候,你才应该使用这些晦涩的命令。...image.png 当你找到一个有用的函数使用它时,Emacs 会告诉你它的键盘绑定,如果有的话。如果没有的话,你可以通过打开你的 $HOME/.emacs 配置文件输入键盘快捷键来自己分配一个。...例如,要将 screenwriter-slugline 函数分配一个键盘绑定: (global-set-key (kbd “C-c s”) 'screenwriter-slugline) 重新加载配置文件...一旦加载完毕,你可以用键盘鼠标进行导航(记住,Emacs 是一个 GUI 应用程序)。每一个软件包的名称都是一个按钮,所以你可以将光标移到它上面,然后按回车键,或者直接用鼠标点击它。

80820
  • Top 10 JavaScript编辑器,你在用哪个?

    Brackets不像Sublime Text和TextMate那样运行的很快,但除了从网络加载更新程序内容的暂停之外,它仍然运行的非常快。...Brackets可以控制Node.js的调试器,并从菜单项中重新启动Node。Brackets可以很方便的添加附加功能的扩展(例如TypeScript和JSX支持,Bower集成和Git集成)。...快速编辑、快速保存文档、快速打开文件和实时预览均有助于简化Web应用程序编辑,让你专注于编码设计。...它具有将选择查找结果复制到新缓冲区中的提取功能,以及剪切功能。BBEdit可以编辑和运行Perl,Python,Ruby,和Shell脚本,以及检查Perl和Python脚本的语法。...如果喜欢自定义编辑器,EmacsVim可以满足你的要求。

    3.2K10

    Emacs Lisp2

    ;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中,;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 如果希望Emacs缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e组合键;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区...;; 下面的命令的输入结果是: Hello, I am Bastien(hello);; 前面定义的hello函数不接受任何参数,过于简单,;; 现在我们重新定义hello函数,让它接受一个参数name..."Stephanie" list-of-names);; mapcar函数对列表中的把列表中的每一个元素分别取出来,赋给hello函数(mapcar 'hello list-of-names);; 重新定义...;; 暂时先不要关闭这个buffer!后面还有用! (greeting);; 下面我们对buffer做一些更有意思的事情!

    98240

    【Rust日报】2023-10-10 使用 Cackle 抵御 Rust 供应链攻击

    API 定义了包含排除哪些名称。...在这个过程中,我发现需要用某种方法来表示缓冲区的文本。最简单的方法是使用大型字符串行数组。然而,随着文本大小行长的增加,这些方法的性能都很差。...GNU Emacs 曾以使用间隙缓冲区(gap buffer)来表示可编辑文本闻名。甚至在维基百科的词条中也提到了它的名字。间隙缓冲区的优点是允许快速本地编辑,而且设计相当简单。...我认为间隙缓冲区类似于更一般的数据结构——"数组"。间隙缓冲区只是一个针对在"光标"处插入进行优化的数组,不是在末尾插入。在许多十年中,使用间隙缓冲区Emacs提供了良好的服务。...尽管如此,在现代世界中,Emacs似乎在选择上相对独行。当今大多数流行的编辑器使用某种形式的片段表(piece table)绳索(rope)。这些数据结构将缓冲区分割成小块对其进行操作。

    16210

    Emacs Lisp

    ;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中, ;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 如果希望Emacs缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs...;; 下面的命令的输入结果是: Hello, I am Bastien (hello) ;; 前面定义的hello函数不接受任何参数,过于简单, ;; 现在我们重新定义hello函数,让它接受一个参数...Stephanie" list-of-names) ;; mapcar函数对列表中的把列表中的每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义...;; 暂时先不要关闭这个buffer!后面还有用! (greeting) ;; 下面我们对buffer做一些更有意思的事情!

    2.3K40

    用了VS Code、IDEA等十几款编辑器后,我总结出优秀编辑器的特质

    它有几种模式,具体取决于你要执行的移动类型: 按行:此模式允许你跳至当前(所有打开的)缓冲区中的任何行。 按单词:此模式允许你跳转到当前(所有打开的)缓冲区中的任何“单词”。...按字符:如果单词模式无法跳转到特殊的运算符字符(因为无法识别为单词),则可以使用此模式跳转到当前缓冲区所有打开缓冲区)中的任何字符。...它有许多功能:打开文件、git 文件、缓冲区、rip-grepping、搜索历史记录、命令、颜色方案等等。...例如在编辑 Java 时,尝试跳至符号的定义只是向上查找符号)时,它经常会超时,体验很差。 在编辑器运行时更改我的颜色方案是在浪费时间,而且会造出来很多损坏的语法高亮模式 bug。真可惜!...我无法重新映射某些运动和 / 模式开关,结果只能遗憾地禁用它。 没有 Vim 支持,即使编辑器有很多快捷键,你还是要用鼠标来执行一些非常基本的任务。

    1.8K10

    Emacs Lisp

    ;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中, ;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 如果希望Emacs缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs...;; 下面的命令的输入结果是: Hello, I am Bastien (hello) ;; 前面定义的hello函数不接受任何参数,过于简单, ;; 现在我们重新定义hello函数,让它接受一个参数...Stephanie" list-of-names) ;; mapcar函数对列表中的把列表中的每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义...;; 暂时先不要关闭这个buffer!后面还有用! (greeting) ;; 下面我们对buffer做一些更有意思的事情!

    2.2K30

    文件IO (一).非缓冲IO实现mycopy

    read和write都调用内核中的一个系统调用 Note: 之所以是不带缓冲的,也是相对于标准I/O而言,标准I/O库使用了缓冲技术,而这正是产生很多问题,引起许多混淆的部分,文件I/O进行了有效的规避,缓冲区由开发者自己来定义和管理...Tip: 文件I/O 并不是ISO C的组成部分, 标准I/O 属于ISO C的组成部分 ---- 文件IO库的常用函数 下面是一些 文件IO库中的常用函数 int open( const char.../file/a.png"; char *fileB="/home/emacs/file/b.png"; //定义与初始化各种变量 if(3 !...,是有上限的,虽然程序退出后,系统会帮忙清理,但在程序设计中,打开文件,使用完后进行手动关闭是一种很好的习惯,这样可以有效避免缓存未刷新的潜在隐患,也可以更加节约资源 编译执行 emacs@ubuntu.../b.png du: 无法访问"/home/emacs/file/b.png": 没有那个文件目录 emacs@ubuntu:~/c$ .

    49630

    Emacs 29快到了!我们能期待什么

    这导致了令人印象深刻的性能提升,这使得 Emacs 比以前更加敏捷。我遇到的唯一问题是 Emacs 只会在第一次加载 EmacsLisp 文件时编译它们。 这已不再是这种情况!...但请注意,它在大多数机器上可能会很慢,因此您在第一次启动 Emacs编译这些文件节省的时间基本上会转移到编译 Emacs 本身时。值得你花时间吗?...自定义用户目录 现在可以更轻松地启动自定义 Emacs 配置文件,而无需使用chemacs2等工具添加 flag --init-directory。...更好的鼠标和触摸板支持 Emacs 现在使用 XInput 2,它使 Emacs 能够支持更多的输入事件,例如触摸板事件。例如,默认情况下,触摸板上的捏合手势会增大减小当前缓冲区的文本大小。...我希望它有一个键绑定至少一个功能,但显然你只能通过右键单击打开选择_Inspect Element_。还是很高兴拥有。

    2.6K20

    一名Clojurian的Emacs配置

    有了这个充足的理由,我开始收集emacs的cheatsheet打印出来,天天放在手边翻阅,甚至买了一本英文版的Learning GNU Emacs书籍,只要有机会就打开emacs开始刷4clojure...首先,我们需要用到emacs的包管理工具package.el,因为emacs 24及其以上的版本都已经内置,所以无需下载到本地,直接通过require加载emacs的运行时。...按照惯例,我在~/.emacs.d目录下建立一个lisp目录用于存放所有自定义的模块文件,随后在init.el中加入下面这句代码,意在把lisp目录加到emacs加载路径列表里。...当你正在编译文件的时候,包中宏就会原地展开,然后被eval-when-compile宏加载进内存被编译成字节码,供后续解析器执行。...最后,需要在init.el文件中添加入这么一句(require 'init-clojure-cider),重新启动emacs,找到一个Clojure项目,按下C-c M-j (hack-jack-in)

    2.8K20

    30岁文转码:我用了三年时间从哲学家变成知名软件项目核心开发

    无需重新启动程序,这些扩展就能实时生效,帮助用户以交互方式即刻观察效果。 从这个角度来看,Emacs 相当于是 Lisp 机,可以用来执行任何类型的程序。...下面,咱们就一起来看几个无需多高技术水平就能实现的常见工作流程: 使用补全框架对文件内容进行异步搜索,将结果放在专用缓冲区就地编辑。最后,把变更传播至所有相关文件。...因此,Emacs 得以将各种界面连通起来,而且完全不会因为上下文切换引起任何冲突。 Emacs 的最后一项优势,就是易用性和规模化使用时的便捷性。例如,我想用自定义代码制作本次演讲中的演示内容。...这就是 Emacs 的行事风格,而且一路延伸至核心应用。作为 Lisp 机,Emacs 在设计之初就充分为最终用户赋权,重新审视一切既有规则。...Emacs 则可以实时评估代码,而且开放完整的源代码及相关说明文档。正是有了这样的开放性,我才能了解如何定义函数,再通过反复试验编写出人生中第一条自定义 Elisp。

    38030

    标准IO (二).缓冲型IO库函数

    char * srev(char *s) //字符串翻转(因为没有现成的翻转函数,所以得自己写) { int i=0,len=slen(s); char tmpc='\0'; //之所以将各种变量定义后...== (fb=fopen(fileB,"w+"))) //以写也可读的方式打开文件B,出错则提醒退出 { printf("cannot open file:%s\n",fileB);...return -1; } if(NULL == (fp=fopen(fileA,"r+"))) //以读也可写的方式打开文件A,出错则提醒退出 { printf("cannot open...(fb); //关闭文件B,这步操作可以有效避免缓存未刷新到硬盘的潜在隐患 return 0; } Note: 文件打开数是一种系统资源,是有上限的,虽然程序退出后,系统会帮忙清理,但在程序设计中,...打开文件,使用完后进行手动关闭是一种很好的习惯,这样可以有效避免缓存未刷新的潜在隐患 编译执行 emacs@ubuntu:~/c$ alias gtc alias gtc='gcc -Wall -g -

    47130

    网络编程(二).UDP

    of argc:%d\n",argc); return res; } if (-1==(fa=open(argv[2],O_RDONLY,0644))) //将最后一个参数作为文件名,打开文件...printf("%d --> %s\n",recvbytes,buf2); //将接收到的字节数和数据内容打印出来 close(sfd); close(fa); //进行清理工作,关闭描述符...@ubuntu:~/c$ ll /tmp/x.download ls: 无法访问/tmp/x.download: 没有那个文件目录 emacs@ubuntu:~/c$ 运行客户端,会立刻返回 emacs...__fd 标识一个已连接套接口的描述字 __buf 接收数据缓冲区 __n 缓冲区长度 __flags 调用操作方式 __addr (可选)指针,指向装有源地址的缓冲区 __addr_len (可选)...也就是说,通过TCP连接传送的数据,无差错,丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 3.TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的

    64920

    Vim命令使用说明

    虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。...替换模式:正常模式下,按R进入 文档操作 :e file –关闭当前编辑的文件,开启新的文件。 如果对当前文件的修改未保存,vi会警告。 :e!...(CTRL-W n) :e – 重新加载当前文档。 :e! – 重新加载当前文档,丢弃已做的改动。 :e#ctrl+^ – 回到刚才编辑的文件,很实用。...标记之后,退出Vim, 重新启动,标记仍然有效。 `{a-z}: 移动到标记位置。 ‘{a-z}: 移动到标记行的行首。 `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。...– 删除当前缓冲区的所有标记。

    2.6K11

    Emacs 29.1 版本发布了

    29.1 已经在 2023-07-30[1] 发布了 作为日常使用 Emacs 进行开发的重度用户,困扰笔者的一个问题时,同时打开多个项目时, xref 会错乱,这十分烦人,忍受一段时间后,最终去 SO...delete-process: 变成了交互式命令 restart-emacs: 与 save-buffers-kill-emacs 类似,只是在关闭 emacs 后,会重新用同样的启动参数再次启动 scratch-buffer...比如可以定义如下规则来打开 .c 对应的 .h 文件: ("\\\\([^/]+\\\\)\\\\.c\\\\\\='" "\\\\1.h") emoji-insert, emoji-list, emoji-search...EIEIO 相关 compat 函数默认已经不再加载,最主要的就是 defmethod defgeneric 函数,如果之前配置中有用到,可以直接加上前缀 cl- 即可,比如下面这个 PR:Fix defmethod...可以通过 --init-directory 设置 user-emacs-directory 变量 .eld 结尾的文件默认用 lisp-data-mode 打开

    54220

    对 Mastering Emacs作者 Mickey Petersen 的采访

    但是太多“专家”建议您隐藏启动画面,关闭工具和菜单栏。当我还是新人的时候,我也成了那个建议的受害者。这是个糟糕的建议。为什么要隐藏有助于您学习和探索的东西?...为此,我编写了几行代码将 Emacs 的各个部分粘合在一起。我按下一个按钮,Emacs 使用 TRAMP 连接到远程服务器调用它需要调用的程序,然后将结果显示在 Emacs 缓冲区中。...我主要使用普通的 Emacs 键绑定,并进行了一些更改以使某些事情更容易接受。M-o不是C-x o; C-x C-k杀死当前缓冲区;F1 打开Mx外壳;和其他一些小事。...我可以使用 Helm 致电 Mastering Emacs 客户找到他们的销售详细信息。非常适合人们忘记电子邮件需要更改某些内容的情况。这是一个很棒的完成框架。...我还将 IDO 用于文件和缓冲区,将 Selectrum 用于通用完成。 除了 Emacs,您还使用什么工具和装备(硬件、软件想到的任何其他东西)?

    73310

    定义Linux桌面,还有这么多玩法?

    您可以通过多种方法来调整Ubuntu,以自定义其外观和行为。我发现最简单的方法是使用GNOME Tweak工具,它也被称为GNOME调整简单的调整。 在过去的教程中,我已经多次提到它。...只需打开软件中心搜索GNOME Tweaks,然后从那里安装它: ?...或者,您也可以使用命令行通过apt命令安装软件: sudo apt install gnome-tweaks 使用调整工具自定义Gnome桌面: ?...您可以浏览可用的主题和图标,设置您需要和喜欢的。这些变化会立即生效。 ? 02 禁用动画以加快桌面启动速度 应用程序窗口的打开关闭、最大化等都有一些细微的动画。...您可能必须重新启动Ubuntu才能生效。如果您是Emacs爱好者,还可以从Emacs强制进行键盘绑定。 07 更改电源设置 这里只有一种电源设置。盖上盖子后,您可以将笔记本电脑置于待机模式。 ?

    2.8K10

    文件IO (二).结构体存取(1)

    printf("read error on:%s\n",fileA); return res; } lseek(fa,sizeof(ST)-sizeof(int),SEEK_SET); //重新将文件指针定位到分数的部分...,意思是偏移量相对位置为当前位置 } lseek(fa,sizeof(ST)-sizeof(int),SEEK_SET); //重新将文件指针定位到第一个分数的位置 for(tscore=...,是有上限的,虽然程序退出后,系统会帮忙清理,但在程序设计中,打开文件,使用完后进行手动关闭是一种很好的习惯,这样可以有效避免缓存未刷新的潜在隐患,也可以更加节约资源 编译执行 emacs@ubuntu...:~/c$ ll f1 ls: 无法访问f1: 没有那个文件目录 emacs@ubuntu:~/c$ ll f2 ls: 无法访问f2: 没有那个文件目录 emacs@ubuntu:~/c$ alias.../savetofile.x emacs@ubuntu:~/c$ ll f1 -rw-r--r-- 1 emacs emacs 80 2016-12-30 04:08 f1 emacs@ubuntu:~

    35040
    领券