Emacs之default-tab-width与tab-width用法总结(一百二十九)

news2024/11/27 23:35:54

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Emacs之default-tab-width和tab-width用法区别与总结。

2.default-tab-width与tab-width功能介绍

<1>.default-tab-widthtab-width 是两个相关的变量,它们控制着制表符(Tab)的显示和缩进行为。

  1. default-tab-width: 这个变量用于指定默认的制表符宽度。它控制着当你使用制表符进行缩进时,每个制表符所占据的字符宽度。默认情况下,default-tab-width 的值是 8。但是,很多时候,你可能希望将制表符宽度设置为其他值,比如 4 或 2。你可以通过设置 default-tab-width 来实现这个效果。

    (setq-default default-tab-width 4)
    

    这将把 default-tab-width 的值设置为 4,即每个制表符占据 4 个字符宽度。

  2. tab-width: 这个变量用于控制代码缩进时使用空格的数量。它影响缓冲区的显示和编辑行为。当 indent-tabs-mode(是否使用制表符进行缩进)设置为 nil 时,Emacs 将使用多个空格来模拟缩进,其中空格的数量由 tab-width 指定。默认情况下,tab-width 的值是 8。

    (setq-default tab-width 4)
    

    这将把 tab-width 的值设置为 4,即每个缩进级别使用 4 个空格。

总结来说,default-tab-width 控制指定缓冲区中显示制表符的宽度,而 tab-width 控制使用空格进行代码缩进时的空格数量。

虽然它们的名字相似,但它们的用途和影响范围是不同的

<2>.default-tab-widthtab-width 两个变量都可以用于设置制表符的宽度,但它们具有不同的作用范围和优先级。

  1. default-tab-width

    • 作用范围:全局(Global)作用范围,影响所有 Emacs 缓冲区。
    • 优先级:当没有其他缩进设置时,Emacs 使用 default-tab-width 来确定缩进的宽度。
    • 示例:
      ;; 设置全局的默认制表符宽度为 4
      (setq default-tab-width 4)
      
  2. tab-width

    • 作用范围:缓冲区本地(Buffer-local)作用范围,可以对每个缓冲区进行单独设置。
    • 优先级:如果某个缓冲区设置了 tab-width,则会覆盖全局的 default-tab-width 设置。
    • 示例:
      ;; 设置当前缓冲区的制表符宽度为 2
      (setq-local tab-width 2)
      

如果你想设置全局的默认制表符宽度,可以使用 default-tab-width 变量。而如果你想为某个特定缓冲区或文件类型单独设置制表符宽度,可以使用 tab-width 变量。

3.应用实例

v1.0 设置全局默认制表符宽度为 4

(setq default-tab-width 4)

v2.0 设置当前缓冲区的制表符宽度为 2

(setq-local tab-width 2)

v3.0 在 C++ 模式下设置制表符宽度为 8

(add-hook 'c++-mode-hook (lambda () (setq-local tab-width 8)))

v4.0 在 Python 文件中设置制表符宽度为 4

(add-hook 'python-mode-hook (lambda () (setq-local tab-width 4)))

v5.0 设置默认制表符宽度为 2,并针对 Markdown 文件单独设置为 4

(setq default-tab-width 2)
(add-hook 'markdown-mode-hook (lambda () (setq-local tab-width 4)))

v6.0 使用 setq-default 设置默认制表符宽度为 4,即使在没有缓冲区时也会生效

(setq-default default-tab-width 4)

v7.0 在特定模式下,如 Org 模式,设置制表符宽度为 2

(add-hook 'org-mode-hook (lambda () (setq-local tab-width 2)))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1055834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IO流之File类

File类 File 对应的硬盘上的文件或者文件夹 位于java.io包下 File对文件/文件夹进行操作&#xff0c;但是无法对文件内容进行操作&#xff0c;读取/写入不可以操作&#xff0c;但是可以创文件夹/读取文件路径,IO流才可以进行操作 文件/文件夹的路径&#xff1a;linux使用/作为文…

【剑指Offer】8.二叉树的下一个结点

题目 给定一个二叉树其中的一个结点&#xff0c;请找出中序遍历顺序的下一个结点并且返回。注意&#xff0c;树中的结点不仅包含左右子结点&#xff0c;同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示&#xff0c;从子节…

SSM 中的拦截器(Interceptor):作用与实现原理

SSM 中的拦截器&#xff08;Interceptor&#xff09;&#xff1a;作用与实现原理 拦截器&#xff08;Interceptor&#xff09;是 Spring 框架中的一个重要组件&#xff0c;也在 Spring Spring MVC MyBatis&#xff08;SSM&#xff09;等框架中起到了关键作用。本文将深入探讨…

阿里云关系型数据库RDS详细说明

阿里云RDS关系型数据库大全&#xff0c;关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等&#xff0c;NoSQL数据库如Redis、Tair、Lindorm和MongoDB&#xff0c;阿里云百科分享阿里云RDS关系型数据库大全&#xff1a; 目录 阿里云RDS关系型数据库大全 …

基于Java的在线课程教程计划管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

已解决: Go Error: no Go files in /path/to/directory问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

我的第一个react.js 的router工程

react.js 开发的时候&#xff0c;都是针对一个页面的&#xff0c;多个页面就要用Router了&#xff0c;本文介绍我在vscode 下的第一个router 工程。 我在学习react.js 前端开发&#xff0c;学到router 路由的时候有点犯难了。经过1-2天的努力&#xff0c;终于完成了第一个工程…

【JUC并发编程--java线程】

文章目录 1. 线程1.1 线程的使用线程运行原理 1. 线程 1.1 线程的使用 方法一&#xff0c;直接使用 Thread&#xff1a; 方法二&#xff0c;使用 Runnable 配合 Thread&#xff1a; 把【线程】和【任务】&#xff08;要执行的代码&#xff09;分开 Thread 代表线程Runnabl…

mac系统占用内存太大怎么办?

Mac的内存大小有限&#xff0c;一旦运行软件太多&#xff0c;会导致Mac无法打开软件或者电脑卡顿&#xff0c;那么Mac系统占用内存过大怎么有效清理呢&#xff1f;本期小编就来帮大家看看当系统占用内存太大的时候应该怎么办 mac系统占用内存过大怎么清理 Mac的内存大小决定了…

网络工程师是安装摄像头的吗

大家好&#xff0c;我是网络工程师成长日记实验室的郑老师&#xff0c;您现在正在查看的是网络工程师成长日记专栏&#xff0c;记录网络工程师日常生活的点点滴滴 有个同学说他现在本科毕业去了一家公司&#xff0c;规模不大。他说只有14个人上社保的。这家公司主要是安装网络摄…

需求放缓、价格战升级、利润率持续恶化对小鹏汽车造成了严重影响

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 收入和每股收益不及预期&#xff0c;亏损创记录 财报显示&#xff0c;小鹏汽车&#xff08;XPEV&#xff09;2023年第二季度收入为50.6亿元人民币(合7亿美元)&#xff0c;略低于预期&#xff0c;而且还产生了比预期更大的亏…

EasyEdge 智能边缘控制台通过sdk发布应用

离线部署SDK生成 模型部署完成后会出现下载SDK的按钮&#xff0c;点击按钮下载SDK并保存好SDK。 进入EasyDL官网的技术文档 安装智能边缘控制台 跟着教程&#xff0c;完成安装&#xff1a;点此链接 树莓派4b是Linux arm64的架构&#xff0c;点击对应的链接进行下载。 下载完成…

【深入了解Java String类】

目录 String类 常用方法 字符串的不可变性 String的内存分析 StringBuilder类 解释可变和不可变字符串 常用方法 面试题&#xff1a;String&#xff0c;StringBuilder&#xff0c;StringBuffer之间的区别和联系 String类的OJ练习 String类 【1】直接使用&#xff0c…

【FreeRTOS】FreeRTOS移植stm32详细步骤介绍

我在查找FreeRTOS移植的相关教程特别少&#xff0c;所以想非常详细的介绍FreeRTOS移植stm32详细步骤&#xff0c;包括源码的下载&#xff0c;源码介绍&#xff0c;系统移植&#xff0c;代码验证等&#xff0c;每一步都有对应的介绍和解释&#xff0c;希望可以帮助到你们。 文章…

【VINS】苹果手机采集单目相机+IMU数据离线运行VINS-Mono

0.准备工作 开个新坑&#xff0c;之前用Android手机做过离线采集数据的实验&#xff0c;这次用IPhone来测试&#xff01; 1.虚拟机配置Mac OS 下载一个Mac OS 的ios镜像&#xff0c;打开虚拟机按照跟Ubuntu差不多的方式安装&#xff0c;但是发现没有Mac OS的入口。 因为VMwa…

字符函数、字符串函数和内存函数

朋友们&#xff0c;今天追秋给大家带来的是一些函数的介绍&#xff0c;包括字符函数、字符串函数和内存函数。 字符串函数 字符串函数分为以下几类: 1.长度不受限制的字符串函数:strlen;strcpy;strcat;strcmp; 2.长度受限制的字符串函数:strncpy;strncat;strncmp. 3.还有一些特…

【C++杂货铺】set 和 map 使用总结

文章目录 一、前言1.1 关联式容器1.2 键值对1.3 树型结构的关联式容器 二、set2.1 set的介绍2.2 set的使用2.2.1 set 的模板参数列表2.2.2 set 的构造2.2.3 set 的迭代器2.2.4 set 的容量2.2.5 set 修改操作2.2.6 set 的使用举例 三、multiset3.1 multiset 的介绍3.2 multiset …

C++goto语句

在本文中&#xff0c;您将了解goto语句&#xff0c;它是如何工作的&#xff0c;以及为什么应该避免它。在C 编程中&#xff0c;goto语句用于通过将控制权转移到程序的其他部分来更改程序执行的正常顺序。 goto语句的语法 goto label; ... .. ... ... .. ... ... .. ... label…

【C++】笔试训练(三)

目录 一、选择题二、编程题1、字符串中找出连续最长的数字串2、数组中出现次数超过一半的数字 一、选择题 1、以下程序的输出结果是&#xff08;&#xff09; #include <stdio.h> int main() {char a[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }, * p;int i;i 8;p a i;p…

【考研数学】高等数学第七模块 —— 曲线积分与曲面积分 | 3. 对面积的曲面积分(第一类曲面积分)

文章目录 二、曲面积分2.1 对面积的曲面积分&#xff08;第一类曲面积分&#xff09;2.1.1 问题引入 —— 曲面的质量2.1.2 对面积的曲面积分定义及性质2.1.3 对面积的曲面积分的计算法 写在最后 二、曲面积分 2.1 对面积的曲面积分&#xff08;第一类曲面积分&#xff09; 2…