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

于是猛然想起来要记一记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")

Emacs配置(考场必备)(Emacs)的更多相关文章

  1. emacs(考场+平时)配置方案

    考场配置: ;;在配置后面会对语句逐一解释的 (global-set-key (kbd "C-z") 'undo) (global-set-key (kbd "RET&q ...

  2. 存个emacs配置

    emacs配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd &qu ...

  3. emacs配置

    原配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C ...

  4. 小蒟蒻的垃圾emacs配置

    (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-s&q ...

  5. emacs配置&博客界面源代码

    emacs配置 如果想要考场简单配置也可以去下面看,需要别的考场配置可以自己在下面比较全的里面找 考试备忘录(有新的就会更的...) By Junlier (global-set-key [f9] ' ...

  6. 简单Emacs配置

    (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-s&q ...

  7. emacs配置eslint 语法检查.找不到node解决

    使用emacs配置eslint 当调用语法检查时报错 Suspicious state from syntax checker javascript-eslint: Checker javascrip ...

  8. emacs配置详解及C/C++IDE全功能配置演示(附配置文件)

    我的emacs插件下载地址: http://pan.baidu.com/share/link?shareid=4196458904&uk=3708780105 说明: 1.为什么使用emacs ...

  9. 一些有用的 Emacs 配置(窗口快速切换、一键透明效果、任意位置删除整行等)

    本篇文章记录的是一些有用的 Emacs 配置,有些是自己原创,有些是借鉴别人(能记起来出处的我放了链接). 规定:C 代表 Ctrl,M 代表 Alt. 1.设置一次跳跃 n 行的快捷键 按 C-M- ...

  10. emacs 配置

    个人的Emacs配置,环境是archlinux,参考了不少网上资料,因为太多,就不一一列举了,在这里感谢那些作者的辛苦经验劳动. (custom-set-variables ;; custom-set ...

随机推荐

  1. 理解Java Integer的缓存策略【转】

    本文由 ImportNew - 挖坑的张师傅 翻译自 javapapers.欢迎加入翻译小组.转载请见文末要求. 本文将介绍 Java 中 Integer 缓存的相关知识.这是 Java 5 中引入的 ...

  2. git 版本控制的简单应用

    一.通过 honebrew 安装git , 教程参考:http://brew.sh/index_zh-cn.html 也可对比参考:http://book.51cto.com/art/201107/2 ...

  3. 移动web页面给用户发送邮件的方法

    微信商户通有这么一个需求,用户打开H5页面后,引导用户到电脑下载设计资源包,由于各种内部原因,被告知无后台资源支持,自己折腾了一段时间找了下面2个办法,简单做下笔记. 使用mailto功能,让用户自己 ...

  4. vue.js 安装过程(转载)

      一.简介 Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核 ...

  5. SpringBoot中过滤器、监听器以及拦截器

    属于javax.servlet所提供的Api 拦截器原理 简单来讲是通过动态代理实现,被访问的目标方法通过代理类(方法)来执行,这样我们就可以在真正要执行的方法执行前.后做一些处理: 通过拦截器这种方 ...

  6. Yii2 Ajax Post 实例及常见错误修正

    先贴下我的代码: signup.js$('.reg_verify_pic').click(function(){ var csrfToken = $('meta[name="_csrf-To ...

  7. linux分析apache日志获取最多访问的前10个IP

    apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数. 既然是统计,那么awk是必不可少的,好用而高效. 命令如下: awk '{a[$1] += ...

  8. 命令行下编译Wordcount

    1. 编辑WordCount.java文件,在下载的hadoop安装包里有WordCount的例子 http://mirrors.hust.edu.cn/apache/hadoop/common/ha ...

  9. Linux基础二

    linux命令分类 内部命令:属于shell解释器 外部命令:独立于shell解释器 检查命令类型 type:检查命令字的类型 [root@localhost ~]# type ls ls 是 `ls ...

  10. python每天一个小练习-列表元素非唯一

    列表元素非唯一 来源 checkio 需求 你将得到一个含有整数(X)的非空列表.在这个任务里,你应该返回在此列表中的非唯一元素的列表.要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表 ...