1836_emacs显示空白字符

news/2024/11/20 15:39:37/

Grey

全部学习汇总: GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used.

全部学习内容汇总:

1836_emacs显示空白字符

show-trailing-whitespace是emacs中内置的一个变量,这个变量的值如果设置为nil那么不会显示行尾或者文档末尾的多余空白。在很多编码规范中,有这方面的要求,因此可以通过这个来起到提示作用。

主题由来介绍

早期学习使用spacemacs之后,习惯了里面的空白提示。我还曾经找过是否有专门的emacs内置功能来实现这样的功能,下面是我之前的部分笔记:
087_emacs设置空白显示-CSDN博客

上面笔记中的方法可以提供可用的功能,但是总体的效果还是不如我之前用过的spacemacs。最近找到了下面的一份文档描述:
Useless Whitespace (GNU Emacs Manual)

尝试了一下看了下效果,发现跟我期待的spacemacs的效果基本一致。

资料整理过程说明

由于spacemacs在我装了Windows系统的老机器上表现如同一个老人一般,因此我切换了我自己维护的一个较为轻量级的emacs配置。主要是想实现我自己所需要的功能,并且以“够用”、“简洁”、“轻量化”为原则。或许,从硬性的功能要求上来说,这个多余空白的显示也不是那么刚性的要求。但是之前一直把这个保持的还可以,不想妥协。

我现在的配置中使用了counsel,支持比较好的命令以及变量模糊搜索。我搜索了一下whitespace,之后找到了 show-trailing-whitespace 的变量,体验了一下之后发现比之前我用的 global-whitespace-mode 好用很多。显示的内容也是我期待的。

要点细节分析

show-trailing-whitespace 是一个buffer-local相关的变量。如下是帮助说明:

我尝试了在我自己的配置中加了 setq-default 来设置它的默认值,但是没有成功。后来直接在上面的帮助界面中进入了变量的配置页面,做了默认的配置。配置成功之后,在init.el中是能够看到多出来一部分配置信息的。具体如下:

如果这部分信息出现,说明配置成功了。

实际探索体验以及效果

简单看了几份代码,看到效果跟自己之前使用的spacemacs非常接近了。具体效果例子:

上面截图之中出现的色块就是多余的空白的提示效果。美观度稍微差了一点,比较扎眼,但是我觉得这并不是问题。越是扎眼,反倒是越容易催进我们对编辑内容的改善。

小结

这个功能成功挖掘出来,让自己对现在维护的这个配置的满意度又增加了不少。同时,借助于这种模糊搜索,我还找到了类似spacemacs中的空白删除功能。一个函数: delete-trailing-whitespace ,如下是部分帮助描述信息:

这个函数可以实现对这些多余空白的清除,如果在快捷键上设置成与spacemacs类似,也很容易找回丢失的使用体验。


http://www.ppmy.cn/news/1273486.html

相关文章

ElasticSearch学习篇8_Lucene之数据存储(Stored Field、DocValue、BKD Tree)

前言 Lucene全文检索主要分为索引、搜索两个过程,对于索引过程就是将文档磁盘存储然后按照指定格式构建索引文件,其中涉及数据存储一些压缩、数据结构设计还是很巧妙的,下面主要记录学习过程中的StoredField、DocValue以及磁盘BKD Tree的一些…

使用OpenSSL生成PKCS#12格式的证书和私钥

要使用OpenSSL生成PKCS12格式的证书和私钥,可以按照以下步骤进行操作: 1. 安装OpenSSL 首先,确保已在计算机上安装了OpenSSL。可以从OpenSSL官方网站(https://www.openssl.org/)下载并安装适用于您的操作系统的版本。…

6.鸿蒙app_hap_DevEco如何真机调试模式_app安装在手机中

真机调试 手机》设置》关于手机》HarmonyOS版本》软件版本,连续单击10次启动开发者模式 然后:设置》系统和更新》开发人员选项》打开USB调试功能。 电脑USB连接手机,手机USB连接类型,传文件(不要选择仅充电&#xf…

Node.js初学习

目录 1、Node.js简介 2、npm是什么 3、node.js和vue是什么关系 1、Node.js简介 Introduction to Node.js | Node.js 根据官网的介绍:Node.js是一个开源的跨平台JavaScript运行时环境。Node.js在浏览器之外运行V8 JavaScript引擎,这是谷歌Chrome的核…

面试 Java 算法高频题五问五答第一期

面试 Java 算法高频题五问五答第一期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的! ⭐点赞⭐收藏⭐不迷路!⭐ 1)括号生成: 数字 n 代表生成括号的对数,请你设计一个…

【PostgreSQL】从零开始:(十三)PostgreSQL-SQL语句操作架构(模式) Schema

Schema概述 PostgreSQL 数据库集群包含一个或多个命名数据库。角色和一些其他对象类型在整个集群中共享。与服务器的客户端连接只能访问单个数据库中的数据,该数据库在连接请求中指定。 用户不一定有权访问集群中的每个数据库。共享角色名称意味着不能在同一集群中…

Ubuntu18.04安装ffmpeg

前言 从本章开始我们将要学习嵌入式音视频的学习了 ,使用的瑞芯微的开发板 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_C…

为什么在Android中需要Context?

介绍 在Android开发中,Context是一个非常重要的概念,但是很多开发者可能并不清楚它的真正含义以及为什么需要使用它。本文将详细介绍Context的概念,并解释为什么在Android应用中需要使用它。 Context的来源 Context的概念来源于Android框架…