热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Emacs配置日志

[TOC]总所周知,Emacs是神的编译器!!!参考文献咕咕日报:https:www.luogu.orgblogArthasgrayemacsweirumenxuexibijiwi

目录

  • 参考文献
  • 入门
  • 配置
  • 运用分屏
    • 打开文件
    • close
    • 切换分屏
    • 编译信息
  • 调试与编译
  • 主题

总所周知,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配置日志


推荐阅读
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
author-avatar
lucky_笨鸟_660
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有