Vim 自动缩进命令

Vim 是一款模式化文本编辑器,支持多种编辑模式,不同模式下键盘按键的功能会发生变化。它自带一套功能强大、设置灵活的自动缩进机制,核心就是 indentexpr 选项。写代码时缩进看似小事,却很费时间,有了 Vim 的自动缩进,不用每一行都手动按 Tab,能省下不少功夫。

这套缩进机制会按预设表达式来控制缩进格式,搭配文件类型自动识别功能,用起来特别顺手。下面就说说怎么用好 Vim 的自动缩进。

一、开启 Vim 自动缩进

想永久开启自动缩进,把这行加到用户目录下的 .vimrc 配置文件里:

filetype indent on

也可以在 Vim 启动后,在命令模式直接执行 :filetype indent on,但这样只对当前会话有效,重启后就失效了。

开启后,可以用 :set filetype 查看当前文件被识别成什么类型。比如本文档就是 html 类型。对应的缩进规则一般放在 /usr/share/vim/vimXX/indent/文件类型.vim 里,XX 是你用的 Vim 版本号。如果这个路径找不到,也可以去 /usr/local/share 下面看看。这些文件里就是对应语言的缩进规则,不满意可以直接改,也能自己加新规则。

要是你用的文件类型没有现成规则,也可以自己写一套。动手前不妨先去 Vim 官网查一查,说不定已经有人做好了。

除了 indentexpr,autoindent 和 smartindent 是更简单的备选方案。建议也在 .vimrc 里加上,万一遇到 Vim 不认识的文件类型,也能有基础缩进:

set ai

set si

二、临时关闭 Vim 自动缩进

粘贴大段文本或代码时,多余缩进会很烦人。这时可以在命令模式输入:

:set paste

就能临时关掉自动缩进。想恢复正常缩进,再执行 :unset paste 就行。

三、其他实用缩进相关设置

还有几个常用配置,能让缩进更顺手:

1. 把缩进宽度设为 4 个空格:

:set shiftwidth=4

2. 对 C 语言用更严格的缩进规则:

:set cindent

3. 用鼠标粘贴时避免乱缩进,插入模式下按 F5 切换粘贴模式:

set pastetoggle=<F5>

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2597.html

Like (0)
Previous 2026年4月29日 下午2:00
Next 2026年4月29日

相关推荐

  • 什么是 localhost,127.0.0.1 是如何工作的?

    我们平时访问网址,本质是和互联网上某台服务器通信;而 127.0.0.1 是特殊地址 —— 发往它的请求不会离开本机,会直接原路返回,这种机制叫回环(loopback),对应的域名…

    2026年4月7日
    0
  • 什么是DevOps 安全?

    DevOps 安全是一个结合三个领域的理念:开发、运维和安全。其目标是消除软件开发和IT 运维之间可能存在的任何障碍。 随着代码的编写和应用程序的发展,团队之间持续沟通和协作的价值…

    2026年5月8日
    0
  • 如何使用远程桌面连接 Windows 服务器?

    远程桌面能够实现远程连接Windows 服务器的操作,管理员可以远程访问和管理服务器。 在这篇文章中,我们将介绍如何使用远程桌面连接到 Windows 服务器。此外,我们还将探讨用…

    2026年3月28日
    0
  • cpu核数是什么意思

    CPU是什么意思?CPU是日常生活中很常见的硬件设备,台式电脑、笔记本电脑、手机、服务器中都必须要有CPU,CPU核数即一个CPU由多少个核心组成,核心数越多,代表这个CPU的运转…

    2026年5月22日
    0
  • 网站打开速度越来越慢和主机有关系吗?

    网站上线运营一段时间后,页面加载越来越慢几乎是个绕不开的问题。 出现这种情况,很多站长的第一反应是去查代码、压图片、卸插件,或者觉得是最近网络不稳定。这些方向不能说没有道理,但常常…

    2026年4月13日
    0
  • 什么是LLM?企业导入LLM的常见应用场景

    自2022年ChatGPT的惊艳问世,到如今国内文心一言、豆包、deekseek、千问等国内AI工具激烈竞争,生成式人工智能已彻底改变了我们的生活与工作方式。但你是否好奇,这些强大…

    2026年4月1日
    0
  • 什么是云端基础设施?

    云端基础设施定义 云基础设施是硬件和软件元素的组合,包括计算能力、网络、存储和虚拟化资源,这些都是支撑云计算的必要条件。 虚拟资源与实体基础设施对应,包括存储器、网络交换器、服务器…

    2026年4月30日
    0
  • IPv4与IPv6:互联网网络层协议的演进与迁移路径

    众所周知,Internet是当前全球规模最大、影响力最广的计算机网络,其网络层作为核心支撑部分,主要涵盖了网际协议(IP)、路由协议以及互联网控制报文协议(ICMP)等关键内容。 …

    2026年4月23日
    0
  • 什么是SSL证书?为什么要买SSL证书?

    我们在访问一个站点的时候,如果网页地址栏提示“不安全”,你还敢继续浏览吗? 互联网已经融入生活的方方面面,但随之而来的钓鱼网站、信息窃取等问题,总是让人头疼。我们在网上购物、使用网…

    2026年4月25日
    0
  • 服务器接入高防IP后有哪些作用?

    什么是高防IP?高防IP是由高防数据中心所提供的IP地址段,主要面向网络服务器在遭遇大规模DDoS攻击时所提供的防护服务。高防IP是当前最为普遍的一种抵御DDoS攻击的方式,用户可…

    2026年6月4日
    0