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日

相关推荐

  • sql注入攻击是什么意思?有何防护措施?

    SQL注入就是用恶意SQL语句攻击数据驱动的应用程序,通常目的是获取敏感数据。 什么是SQL注入? 结构化查询语言(Structured Query Language,SQL)注入…

    2026年4月27日
    0
  • Linux常用到的归档与压缩命令盘点

    在日常运维工作中,不可避免会打包压缩和解压文件,Linux上有多个类似功能的命令,如 tar、gzip、bzip2、xz、zip,今天就跟大家一起区分一下并学会如何高效实用它们。 …

    2026年5月7日
    0
  • WordPress报413请求实体过大错误

    413 请求实体过大错误,是一种 HTTP 响应,意思是你发送的内容比服务器能接受的要大。HTTP 400 系列错误一般是客户端的问题,但 413 错误更多是因为上传的内容本身合法…

    2026年3月28日
    0
  • Linux的查找和定位命令有什么不一样?

    熟悉 Linux 终端与否,其实取决于你能否很好地应对混乱的目录结构。Linux 查找命令和 Linux 定位命令是你在审计安全权限、清理日志文件,或寻找你确定保存在某处的配置脚本…

    2026年3月25日
    0
  • 什么是数字证书?其含义、类型和重要性

    什么是数字证书? 数字证书是一种数字文档,用于证明用于加密在线资产(例如电子邮件通信、文档、网站或软件应用程序)的公钥的真实性。 数字证书,也称为身份证书或公钥证书,是一种利用公钥…

    2026年4月27日
    0
  • SQL 与 NoSQL 数据库对比:该怎么选?

    NoSQL 数据库凭借易用、好开发、扩展性强等特点,一直备受认可。在处理海量数据时速度快、使用灵活,如今在大数据和实时互联网应用中越来越普及。 但这不代表任何场景都适合换成 NoS…

    2026年4月22日
    0
  • Linux服务器卡顿了如何排查?

    今天分享一下Linux服务器卡顿了如何排查,这是运维新手的必修课,建议认真读完,建立整个排查思路非常重要。 生产环境验证过的 Linux 卡顿六步定位法:系统负载–》C…

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

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

    2026年3月28日
    0
  • 理解带宽、延迟和流量

    在线观看电影、参加视频通话或部署云应用时,有三个无形因素决定了体验的流畅程度:带宽、延迟和流量。这些术语经常被混淆,但它们描述的是网络性能的不同方面。 带宽:定义与实际意义 带宽定…

    2026年4月17日
    0
  • 什么是点对点协议(PPP)?

    互联网依赖于许多通信规则,即协议,在设备之间移动数据。PPP (Point-to-Point Protocol,点对点协议)是早期最重要的直接连接协议之一。 PPP允许两台设备在一…

    2026年4月13日
    0