emacs 如何让buffer变的可交互 让buffer操作shell

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了emacs 如何让buffer变的可交互 让buffer操作shell相关的知识,希望对你有一定的参考价值。

左边buffer是代码 右边buffer是执行结果 需要我输入一个i的值 ( 我用的是auto-complete这编译运行插件 )
问题是右边的buffer不能输入东西 即使输入也不能和启动的c程序进行交互
现在我希望右边的buffer能像shell一样输入i这样便可以和c程序进行交互
(alt + M 再打开一个shell这种解决方法除外)

如果想交互输入你需要将*compilation* buffer切换到comint-mode,并且取消只读。
(手动执行的方法:C-x C-q 取消只读, M-x comint-mode 切换到comint-mode)

以下代码可以自动做这两件事:
(defun my-compilation-mode-hook ()
(interactive)
(read-only-mode -1)
(comint-mode)
)
(add-hook 'compilation-mode-hook 'my-compilation-mode-hook)

添加到 ~/.emacs
参考技术A read a
即可解决!追问

我是新手 请说详细一点

python学习--如何让字典变的有序

使用collections模块下的OrderedDict,可以使字典中的数据按照存放的顺序取出来,一般的字典存放数据是无序的。

模拟一个OrderedDict存入取出的过程。

from time import time
from random import randint
from collections import OrderedDict


person=list(‘ABCDEFGH‘)  #创建一个人员列表[‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘]
start=time() #创建开始时间
od=OrderedDict() #创建有序集合
for i in range(8): #创建一个循环8次
  input() #每次回车,就往od这有序字典中存入相关信息
  p=person.pop(randint(0,7-i))
  end=time()
  print(p,i+1,end-start)
  od[p]=(i+1,end-start)
print(‘----------‘)
for x in od:
  print(x,od[x])















以上是关于emacs 如何让buffer变的可交互 让buffer操作shell的主要内容,如果未能解决你的问题,请参考以下文章

如何找到已加载的 .emacs 文件?

让 Emacs shell 命令发送桌面通知 | Linux 中国

如何让 Emacs 使用我的 .bashrc 文件?

Emacs中那些不常用的行操作命令

如何让 Emacs/Slime/SBCL 识别 quicklisp 包

2020-03-01emacs 中使用LISP