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

如何在杀死Emacs中的临时缓冲区之前收到警告?

在Emacs中,当您尝试杀死临时缓冲区(也称为“临时缓冲区”)之前,可以通过以下方法收到警告:

  1. 使用kill-buffer命令并在其前面添加confirm-kill-processes前缀。这将在杀死缓冲区之前询问您是否确定。
代码语言:txt
复制
(defun confirm-kill-buffer-with-prompt (buffer)
  (let ((process (get-buffer-process buffer)))
    (if (and process (process-query-on-exit-flag process))
        (yes-or-no-p (format "Really kill buffer %s? " buffer))
      t)))

(advice-add 'kill-buffer :before 'confirm-kill-buffer-with-prompt)
  1. 使用kill-buffer-query-functions钩子,它允许您在杀死缓冲区之前执行任何操作。
代码语言:txt
复制
(defun confirm-kill-buffer-with-prompt (buffer)
  (let ((process (get-buffer-process buffer)))
    (if (and process (process-query-on-exit-flag process))
        (yes-or-no-p (format "Really kill buffer %s? " buffer))
      t)))

(add-hook 'kill-buffer-query-functions 'confirm-kill-buffer-with-prompt)

这两种方法都会在杀死临时缓冲区之前询问您是否确定。如果您选择继续杀死缓冲区,那么缓冲区将被杀死。如果您选择取消,那么缓冲区将保持打开状态。

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

相关·内容

Emacs 快捷键

C-x k kill-buffer 杀死一个缓冲区(缺省情况下为当前的缓冲区)。 C-x C-q vc-toggle-read-only 切换当前缓冲区的可读状态(如果适用还可以执行版本控制)。...B2 这一命令插入最近被杀死的内容,并把光标移动到插入内容的末尾。 B3 这一命令会设置并突出显示区域,然后无需删除就将其放在 kill 缓冲区中。...Emacs 搜索和替换命令 绑定 命令或者函数 描述 C-s [字符串 ] [C-w ] [C-y ] isearch-forward 前向增量地在整个缓冲区中搜索字符串(在缺省情况下,将搜索您上一次给出的搜索字符串...当它在缓冲区中处于打开状态时,将所有显示该缓冲区的窗口连接为一个较大的虚拟窗口。...enlarge-window C-x ^ 使当前窗口增加一行的高度;在其之前使用一个负数,将使得当前窗口减少一行的高度。

2K20

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

如果您不使用 Wayland,Emacs 将显示一条警告消息,因为如果您运行的是 Xorg,它很可能会导致问题。...在我的例子中,当缓冲区的内容更新时,我有时会看到一些幻影文本(尽管我仍然需要纯 GTK,因为我在 Xorg 和 Wayland 之间交替)。.../usr/bin/emacs -x,Emacs 不会读取它的 init 文件(如 with -Q),而是会立即执行 Elisp 代码并将最后一个值返回给脚本的调用者(很可能是您调用脚本的 shell从)...现在说还为时过早,大多数合并到 master 中的稳定功能都去了 Emacs 29,而且只有feature/pkg和feature/improved-lock-narrowing分支似乎在写这篇文章的前一周不到收到提交...,我不知道其他分支的状态在过去几周内收到了提交,例如feature/package+vcor feature/eglot2emacs(我假设两者都已合并)。

2.6K20
  • 网络编程(二).UDP

    emacs@ubuntu:~/c$ 此时系统中并没有开放9000端口 emacs@ubuntu:~/c$ netstat -anu | grep 9000 emacs@ubuntu:~/c$ 运行服务端...__fd 标识一个已连接套接口的描述字 __buf 接收数据缓冲区 __n 缓冲区长度 __flags 调用操作方式 __addr (可选)指针,指向装有源地址的缓冲区 __addr_len (可选)...数据包 __fd 一个标识套接口的描述字 __buf 包含待发送数据的缓冲区 __n buf缓冲区中数据的长度 __flags 调用方式标志位 __addr (可选)指针,指向目的套接口的地址 __addr_len.../accept时确定 5.UDP:在sendto/recvfrom函数中每次均 需指定地址信 6.UDP:shutdown函数无效 TCP与UDP区别总结 1.TCP面向连接(如打电话要先拨号建立连接...);UDP是无连接的,即发送数据之前不需要建立连接 2.TCP提供可靠的服务。

    65320

    进程间通讯(三).signal

    signal ) 信号量 ( semaphore ) 消息队列 ( message queues ) 共享内存 ( shared memory ) 套接字 ( socket ) 这里分享一下我在学习进程通讯过程中的笔记和心得...,其实就是第二个函数的地址 void ( *signal( int sig, void (* handler)( int )))( int ); 这个定义的确看起来有点晕 ---- 预定义信号 系统中也有一些预定义的信号...if(0 == kill(ppid,sig)) //给父进程发送指定信号,在这里kill并不是杀死的意义,而是发送信号的意义 { printf("A:sent %d signal...40号信号后,执行trigger函数 pause(); //在收到信号之前,一直处于阻塞状态 if(0 == kill(cpid,sig)) //给子进程发送信号 {..., the signal is 40 B:sent 9 signal to 17082 emacs@ubuntu:~/c$ 编译执行过程中没有报错,从结果来看,符合预期 ---- kill 在 signal.h

    1.6K10

    我的 IDE 太重了,所以迁到了 Emacs

    我注意到,有更多“开箱即用”的 Emacs 发行版,如 Spacemacs 和 Doom Emacs,对于那些想要一个现代编辑器而不必手动配置一切的人来说,会感觉更舒服。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...,它会警告你,这点非常好。...Emacs 还忽略了 IntelliJ 会给出的其他一些重要的、更高级的警告。...在早上使用 IntelliJ 的情况,你可以看到充满电后,电量被“凶猛吞噬”,在我晚上回到 Emacs 之前,电量就恢复了正常的使用模式。 并不是说我需要这个才知道 IntelliJ 真的非常耗电!

    1.1K10

    basler相机sdk开发例子说明——c++

    缓冲区填充完毕后,可以从相机对象检索缓冲区进行处理.。在抓取结果中收集缓冲区和附加图像数据。抓取结果由智能指针在检索后保持.。当显式释放或智能指针对象被销毁时,缓冲区将自动重复使用.。...可接收由PC前的图像数据为成品曝光已完全转移。此示例说明如何在照相机事件消息数据时通知. 收到。 事件信息的自动检索和处理的instantcamera类。...* exposureendeventstreamchannelindex:表示图像数据的数据流用来转移暴露的框架。 事件溢出事件由照相机发送,作为事件正在被删除的警告.。...Grab_ChunkImage Basler相机提供块特征:相机可以生成每个图像的某些信息,如帧计数器,时间戳,和CRC校验,这是附加到图像数据的“块”。...这可以用来避免不必要的延迟,例如在相关的图像数据传输完成之前,成像对象被进一步移动.。

    4.2K41

    史上最轻量的 IDE……

    我注意到,有更多“开箱即用”的 Emacs 发行版,如 Spacemacs 和 Doom Emacs,对于那些想要一个现代编辑器而不必手动配置一切的人来说,会感觉更舒服。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...,它会警告你,这点非常好。...Emacs 还忽略了 IntelliJ 会给出的其他一些重要的、更高级的警告。...在早上使用 IntelliJ 的情况,你可以看到充满电后,电量被“凶猛吞噬”,在我晚上回到 Emacs 之前,电量就恢复了正常的使用模式。 并不是说我需要这个才知道 IntelliJ 真的非常耗电!

    33510

    史上最轻量的 IDE……

    我注意到,有更多“开箱即用”的 Emacs 发行版,如 Spacemacs 和 Doom Emacs,对于那些想要一个现代编辑器而不必手动配置一切的人来说,会感觉更舒服。...几年来,我已经成功地将 Emacs 配置为最基本的现代快捷键,这些快捷键在 90 年代后的大多数其他应用程序中都能使用(比如 Cmd+S 保存,Ctrl+Tab 切换缓冲区等等)。...,它会警告你,这点非常好。...Emacs 还忽略了 IntelliJ 会给出的其他一些重要的、更高级的警告。...在早上使用 IntelliJ 的情况,你可以看到充满电后,电量被“凶猛吞噬”,在我晚上回到 Emacs 之前,电量就恢复了正常的使用模式。 并不是说我需要这个才知道 IntelliJ 真的非常耗电!

    40510

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

    例如,如果你不知道如何在 Emacs 中只用键盘快捷键复制一个单词,编辑菜单的复制、剪切和粘贴选择提供了最轻松的路径。没有理由因为选择了 Emacs 而惩罚自己。...使用它的菜单,用鼠标选择区域,点击缓冲区内的按钮,不要让陌生感阻碍你的工作效率。 image.png 这些功能被内置到 Emacs 中,是因为用户在使用它们。...在 Emacs 中,“框架”就是现代计算机所说的“窗口”。 缓冲区(Buffer):“缓冲区”是 Emacs 的一个通信通道。...它可以作为 Emacs 进程的命令行,也可以作为 shell,或者只是一个文件的内容。 窗口(Window):“窗口”是你进入一个缓冲区的视角。 迷你缓冲区(Mini-buffer)。...所有的函数都可以从迷你缓冲区(Emacs 框架底部的命令行)执行。

    82220

    好知识 | TCP中的两类故障模式

    除非网络中的其他设备,如路由器发出一条 ICMP 报文,说明目的网络或主机不可达,这个时候通过 read 或 write 调用就会返回 Unreachable 的错误。...2、系统崩溃造成的对端无 FIN 包当系统突然崩溃,如断电时,网络连接上来不及发出任何东西。这里和通过系统调用杀死应用程序非常不同的是,没有任何 FIN 包被发送出来。...你可以这样理解,收到 FIN 包相当于往接收缓冲区里放置了一个 EOF 符号,之前已经在接收缓冲区的有效数据不会受到影响。服务器端和客户端程序。...,在收到数据流之后回显给客户端,在此之前,休眠 5 秒,以便完成后面的实验验证。...stdout); } exit(0);}4、read 直接感知 FIN 包我们依次启动服务器端和客户端程序,在客户端输入 good 字符之后,迅速结束掉服务器端程序,这里需要赶在服务器端从睡眠中苏醒之前杀死服务器程序

    11510

    对 Mastering Emacs作者 Mickey Petersen 的采访

    一些 Emacs 用户学习它是因为这是一种“税”,他们必须支付才能在某些学术界或商业环境中工作,在这些环境中,它是唯一可用或广泛使用的。当我们的讲师挥手回答诸如“我们应该用什么来编辑 Prolog?”...Emacs 选择用非常高的技能上限(异常强大的键绑定、可编程性等)替换低技能上限(以及贫乏的键绑定和功能),因为如果你坚持不懈,那么你最终会学到足够多的知识,从而从编辑器中受益这不会妨碍其用户。...为此,我编写了几行代码将 Emacs 的各个部分粘合在一起。我按下一个按钮,Emacs 使用 TRAMP 连接到远程服务器并调用它需要调用的程序,然后将结果显示在 Emacs 缓冲区中。...M-o而不是C-x o; C-x C-k杀死当前缓冲区;F1 打开Mx外壳;和其他一些小事。 对于与生产力相关的东西,我经常使用 Helm 来完成特定任务。...我还将 IDO 用于文件和缓冲区,将 Selectrum 用于通用完成。 除了 Emacs,您还使用什么工具和装备(硬件、软件或想到的任何其他东西)?

    79610

    Emacs Lisp2

    Emacs: (在windows中可以双击emacs图标,在Linux中可以输入% emacs & ),;; 然后在键盘上键入q 跳过系统欢迎的信息,;; 先观察在Emacs屏幕的底部,会给出一堆关于当前的工作情况的信息...;; 缓冲区也叫做工作区,在Emacs中打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中,;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...C-j);; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算的结果;; 插入到当前的缓冲区中;; 如果不希望Emacs在缓冲区中插入计算结果,我们还可以在表达式的末尾使用C-x C-e...组合键;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果;; ELisp中的赋值函数是是setq

    98740

    进程间通讯(一).pipe

    消息队列( message queue ) : 消息队列是消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。...共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。...,即管道的文件描述符 char buf[MAX]; //用于临时存放数据 memset(buf,0,sizeof(buf)); //置空缓存 if(0 > pipe(fd)) //创建管道...buf中,并且写入一段信息 if (0 > (wb=write(fd[1],buf,MAX))) //将buf中的内容写到管道中 { perror("write");...@ubuntu:~/c$ 编译执行过程中没有报错,从结果来看,符合预期 Note: 有时子进程的输出中显示父进程为1,原因是父进程先于子进程退出,这样子进程就变成了孤儿进程,孤儿进程会被init进程收养

    72630

    Emacs Lisp

    ; 第一步首先启动Emacs: (在windows中可以双击emacs图标,在Linux中可以输入% emacs & ), ;; 然后在键盘上键入q 跳过系统欢迎的信息, ;; 先观察在Emacs屏幕的底部...;; 缓冲区也叫做工作区,在Emacs中打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中, ;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...,并且键入Ctrl-j (之后将简写成C-j) ;; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算的结果 ;; 插入到当前的缓冲区中 ;; 如果不希望Emacs在缓冲区中插入计算结果...,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果

    2.3K40

    Emacs Lisp

    ; 第一步首先启动Emacs: (在windows中可以双击emacs图标,在Linux中可以输入% emacs & ), ;; 然后在键盘上键入q 跳过系统欢迎的信息, ;; 先观察在Emacs屏幕的底部...;; 缓冲区也叫做工作区,在Emacs中打开一个文件,实际只是在Emacs中构造该文件的一个副本,放到缓冲区中, ;; 在Emacs中对该文件的编辑也是针对该副本的编辑,唯有保存改动时,Emacs才会把缓冲区中的内容在复制到原文件中去...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...,并且键入Ctrl-j (之后将简写成C-j) ;; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算的结果 ;; 插入到当前的缓冲区中 ;; 如果不希望Emacs在缓冲区中插入计算结果...,我们还可以在表达式的末尾使用C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果

    2.2K30

    Emacs Verilog mode 简单使用指南

    基本核心概念 安装与激活 首先,确保你的Emacs安装了Verilog mode。通常,Emacs可以通过包管理器(如ELPA、MELPA)来安装额外的模式。...尝试更换主题或手动调整.emacs中的配色设置。 3. 自动缩进不理想 问题描述:自动缩进不符合个人编码习惯。 解决策略:Emacs的高度可定制性允许你修改缩进规则。...当你的Verilog代码中存在语法错误或警告时,它能够自动高亮显示这些问题区域,这对于调试代码非常有帮助。不过,要注意的是,这种静态分析虽然强大,但并不能替代综合工具或仿真器的全面检查。...通过修改或新增模板,可以让Emacs在你需要的时候快速插入这些结构,进一步提高编码效率。 整合版本控制系统 在团队协作环境中,版本控制系统(如Git)是必不可少的工具。...而利用Emacs的正则表达式搜索和替换功能,以及专门的重构工具(如xref和lsp-mode),可以安全地进行大规模代码重构,保证代码质量的同时,也提高了开发效率。

    37410

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

    它有几种模式,具体取决于你要执行的移动类型: 按行:此模式允许你跳至当前(或所有打开的)缓冲区中的任何行。 按单词:此模式允许你跳转到当前(或所有打开的)缓冲区中的任何“单词”。...按字符:如果单词模式无法跳转到特殊的运算符或字符(因为无法识别为单词),则可以使用此模式跳转到当前缓冲区(或所有打开的缓冲区)中的任何字符。...2 其他模态技巧 对模态编辑而言,以下是我希望编辑器具备的功能列表,当然不止这些: C-i和C-o:这些使我可以跳转到缓冲区中的某个文件 / 某个位置,然后返回到C-o之前我所在的位置,或者输入C-i...宏和寄存器:我可以指定单个按键将内容粘贴到不同的寄存器(如剪贴板)中。...所有基本的 vim 移动方法,例如d(删除)、y(复制)、c(更改),t(转到要搜索的字符之前的字符),%(转到另一个定界符),等等。

    1.8K10

    Oracle-Oracle数据库结构

    临时表空间也可以对应一个或者多个临时文件(Tempfile) oracle9i后,Oracle将临时表空间所对应的临时数据文件与一般数据文件分开, dba_temp_files数据字典中可以查询临时表空间和临时数据文件的信息...Oracle实例在运行中产生日志信息,首先被记录在SGA中的日志缓冲区中, 当发出commit命令后(或者日志缓冲区信息满1/3或者3S过去)时,LGWR进程将日志信息从日志缓冲区中读出并写到日志文件组序列号小的文件中...SPFILE中的参数由oracle系统自动维护,如过要修改某些参数,不能对SPFILE进行直接编辑, 需要通过alter system命令来修改。...---- 系统全局区(SGA) 之前的博客 Oracle-内存管理解读 SGA = 数据高速缓冲区+ 重做日志缓冲区+ 共享池+ 大池+ Java 池+ 流池 系统全局区是动态的,由参数SGA_MAX_SIZE...,用于一些大型的进程如Oracle的备份恢复操作、IO服务器进程等 Java 池 该程序缓冲区就是为Java 程序保留的。

    2K31
    领券