作者:lucky_笨鸟_660 | 来源:互联网 | 2023-05-28 21:42
[TOC]总所周知,Emacs是神的编译器!!!参考文献咕咕日报:https:www.luogu.orgblogArthasgrayemacsweirumenxuexibijiwi
总所周知,Emacs是神的编译器!!!
参考文献
咕咕日报:https://www.luogu.org/blog/Arthas-gray/emacs-wei-ru-men-xue-xi-bi-ji
wiki:https://oi-wiki.org/intro/editor/emacs/
入门
入门你基本上看那两个文档都可以看懂。
不过提醒一个事情,\(M-s\)表示的是\(Alt-x\),而\(C-x\)是\(Ctrl-x\),\(-\)是连按的意思。
配置
也许你会发现一个事情,就是\(emacs\)很垃圾,为什么会垃圾呢?
有一个很大的原因就是你没有配置文件。
和很多IDE一样,你需要把\(MinGW\)先下载并且弄好环境变量。
然后你可以在任意一个地方新建一个\(.emacs\)为后缀的文件,我们这里记为\(zjj.emacs\)。
这里放上我的配置,大家觉得有用的语句可以拷走。
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset
(font-spec :family "Microsoft Yahei" :size 16)))
;;字体,如果没有这个Emacs有中文会很卡
(global-linum-mode t) ;;line num 显示行号
(setq column-number-mode t) ;;显示列号
(setq-default indent-tabs-mode nil) ;;将tab转变为空格
(setq c-basic-offset 4) ;;C变成4
(setq default-tab-width 4) ;;tab width 设置缩进以及tab键
(electric-pair-mode t);;electric pair 括号补全
(electric-layout-mode t);;不知道是什么
(electric-indent-mode t);;自动缩进
(show-paren-mode t) ;;show paren 括号配对
(global-hl-line-mode t) ;;high light line 高亮当前行
(global-set-key [f5] 'gdb) ;;摁F5进入gdb调试
(global-set-key [f10] 'compile) ;;摁F10编译
(display-time-mode 1);;启用时间显示设置,在minibuffer上面的那个杠上
(setq display-time-24hr-format t);;时间使用24小时制
(setq display-time-day-and-date t);;时间显示包括日期和具体时间
(setq scroll-margin 3 scroll-conservatively 10000)
;;防止页面滚动时跳动, scroll-margin 3 可以在靠近屏幕边沿3行时就开始滚动,可以很好的看到上下文。
(setq auto-save-mode nil);;自动保存模式
(setq inhibit-startup-message t);;关闭emacs启动时的画面
;;在标题栏提示目前我的位置
(setq frame-title-format "zjj@%b")
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
;;都是UTF-8
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-initialize)
;;获取插件信息 ,在M+s输入package-list-packages可以查看
(load-theme 'wilmersdorf t)
;;加载主题。
;; 设置假期,在日历中可以看到
(setq calendar-holidays '((holiday-chinese 1 1 "春节")
(holiday-chinese 1 15 "元宵节")
(holiday-fixed 3 8 "妇女节")
(holiday-fixed 5 1 "劳动节")
(holiday-fixed 6 1 "儿童节")
(holiday-chinese 5 5 "端午节")
(holiday-chinese 7 7 "七夕节")
(holiday-chinese 7 15 "鬼节")
(holiday-fixed 8 20 "纪念")
(holiday-chinese 8 15 "中秋节")
(holiday-chinese 9 9 "重阳节")
(holiday-fixed 10 1 "国庆节")
(holiday-chinese 8 1 "建军节")
)
)
(setq auto-image-file-mode t)
;;让 Emacs 可以直接打开和显示图片。
(auto-compression-mode 1)
;;打开压缩文件时自动解压缩
(cua-mode t)
;;Windows的剪切复制粘贴键
(setq kill-ring-max 200)
;;撤销的缓存开大点
然后你需要在Emacs中输入指令\(M+x\),然后会看到下方有命令行,然后输入\(load-file\),按回车,然后再输入你配置文件的地址就可以加载了。
当然,如果你想保持配置的话我的建议是工具栏的\(options-save\) \(options\)。
然后就可以保存了。
当然有时候你的配置可能需要重启Emacs。
运用分屏
我们其实是可以用\(M+x\) \(1/2/3/0\)来实现分屏的,前后指令分别是只保留主屏,将当前屏横切,将当前屏纵切,删除当前屏。
不过如果你要灵活运用分屏要掌握几个诀窍。
打开文件
对于新开的分屏,他是原本的内容的,但是我们不希望有两个相同的分屏,所以我们可以利用打开文件来实现不同分屏。
close
工具栏->file->close
可以关闭当前分屏的文件,然后此分屏显示的是上个文件。
切换分屏
在红框框住的地方,用右键可以轻松的换文件,不过不要用左键,不然到了\(GNU\) \(emacs\),你的分屏都会关掉。
编译信息
有时候编译信息总会猛地霸占一个分屏,这个时候我们只要提前开好一个分屏,然后用右键切换到\(Compile\),就可以让他老老实实呆着。
调试与编译
编译的话就是你在上方找到compile以后,输\(g++\)指令就行了。
而调试呢,你首先得确保调试文件的地址没有中文,然后你就可以放心的按\(Debugger\)了。
不过他会关掉所有的分屏,然后把主页面换成\(gdb\),此时你只需要右键切回代码,然后\(M-x\) \(gdb-many-windows\),就会出现一坨的分屏,就是你的调试信息了,不过仍需要学会GDB调试,在此不一一赘述。
主题
好看的主题可以影响心情。
上https://emacsthemes.com/可以查看主题并下载,并且把其改名成:\(???-theme.el\)的形式,丢到emacs-26.3-i686\share\emacs\26.3\etc\themes里面,然后在\(Emacs\)里面输入\(M-x\) \(load-theme\),然后输入你的主题名就可以了。
不过这个你可以在配置中设置语句,就可以一直用你喜欢的主题了。
Emacs配置日志