Emacs配置(考场必备)(Emacs)

时间:2022-08-22 20:43:02

最近有几次离开自己一直坐着的座位,去别的机房考试了。

于是猛然想起来要记一记Emacs的简洁配置了。

算是把NOIP残存的记忆再拾一点起来。。。。。。

update:

1:实测NOILinux不资磁透明度设定,已删去。

2.撤销键包含在cua-mode里,已删去。

3.编译指令里的%s应加上单引号,不然编译文件名带空格的cpp时会出问题。(NOIP有带空格的文件名吗?)

4.编译函数加了个save-buffer指令。考场配置加入自动运行。

附上一些解释

(global-set-key [f9] 'compile-file)
;;一键编译(弄Devcpp留下来的习惯)
(global-set-key (kbd "C-a") 'mark-whole-buffer)
;;全选(Like Windows)
(global-set-key (kbd "RET") 'newline-and-indent)
;;换行时自动缩进
(defun compile-file()(interactive)
(save-buffer)
(compile(format "g++ -o '%s' '%s' -lm -Wall"
(file-name-sans-extension(buffer-name))(buffer-name))))
;;编译指令(真TM难记)
(cua-mode t)
;;Windows的剪切复制粘贴键
(show-paren-mode t)
(global-linum-mode t)
;;括号匹配,显示行号
(setq kill-ring-max 200)
;;撤销的缓存开大点
(setq default-cursor-type 'bar)
;;把光标变成条,一块真的看不爽(用VIM的Dalao请无视)
(setq default-tab-width 4)
;;默认tab宽度
(setq c-default-style "awk")
;;缩进风格
(set-background-color "gray15")
(set-foreground-color "gray")
;;背景颜色(白的太亮了)前景颜色也要跟着改

Update:

蒟蒻突然发现,所有的指令,好像都可以在Emacs内部完成编辑,按M-x(Alt+x)然后输入即可(不用加最外层的括号了)。改完以后记得点击Options->Save Options保存配置,不然叉掉以后再打开就没了。

(一个例外:把setq改成set-variable

这样输入有一个好处,会有一个模糊查找的索引,按一下Tab即可。

如果记不清全部的拼写,可以敲比较确定的部分,不记得的用*或者-代替,然后直接在索引里找找就好啦。

妈妈再也不用担心我的记性啦!


我还是太弱了,少了这些一点都不适应。

Dalao们的都没十行吧。。。。。。

无聊版(F10一键运行,F8文本比较,F7一键测样例)

想玩一玩Lisp的大佬们可以自己随便百度一下qaq

(global-set-key[f9]'compile-file)
(global-set-key[f10]'autorun)
(global-set-key[f8]'differ)
(global-set-key[f7]'yeah)
(global-set-key(kbd"C-a")'mark-whole-buffer)
(global-set-key(kbd"C-q")'kill-this-buffer)
(global-set-key(kbd"RET")'newline-and-indent)
(defun compile-file()(interactive)
(save-buffer)
(compile (format "g++ -o '%s' '%s' -lm -Wall -O2 -std=c++11"
(file-name-sans-extension(buffer-name))(buffer-name))))
(defun autorun()(interactive)
(shell-command(format "time timeout 5 ./'%s'"
(file-name-sans-extension(buffer-name)))))
(defun differ(name)(interactive "sStandard Output Name:")
(shell-command(format "diff -b -B '%s.out' '%s'"
(file-name-sans-extension(buffer-name)) name)))
(defun yeah(name)(interactive "sSample Name:")
(shell-command(format "cp '%s.in' '%s.in'"
(file-name-sans-extension name )
(file-name-sans-extension(buffer-name))))
(autorun)
(shell-command(format "diff -b -B '%s.out' '%s'"
(file-name-sans-extension(buffer-name)) name)))
(cua-mode t)
(show-paren-mode t)
(global-linum-mode t)
(setq kill-ring-max 200)
(setq default-cursor-type 'bar)
(setq default-tab-width 4)
(setq c-default-style "awk")
(set-background-color "gray15")
(set-foreground-color "gray")