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日

相关推荐

  • 塔式服务器是什么?

    塔式服务器其实是由电脑主机演变而来的,只是在可靠性、稳定性、通用性、信息处理能力上更为出色的电脑主机。一般来说个人电脑也能充当网络服务器,只需装上服务器系统即可,但普通电脑主机往往…

    2026年7月6日
    0
  • 云服务器安全组是做什么用的?

    安全组属于一类虚拟防火墙,拥有有状态的数据包筛选能力,主要用于对云主机、负载均衡器、云数据库等资源实施网络访问管控,对实例层级的进出流量加以约束,属于关键的网络安全隔离措施。 通过…

    2026年6月8日
    0
  • 如何挑选安全数据库服务器

    数据安全问题,如今已成为大家普遍关注的焦点话题,尤其是身处信息泄露事件频发、个人隐私保护尚不够完善的当下环境中,人们更能深切体会到”数据无价”这四个字背后的…

    2026年7月30日
    0
  • 什么是远程代码执行(RCE)攻击?

    远程代码执行(RCE)攻击指的是借助系统某一层级存在的安全缺陷,向目标系统中植入并运行恶意指令。攻击者借此可在受害系统上执行各类操作——包括下达系统命令、窃取敏感信息、篡改或加密数…

    2026年6月23日
    0
  • 服务器常见攻击手段解析及攻击日志查看方法

    网络攻击始终是困扰众多网站运营者的一大难题,时至今日,仍有相当数量的网站处于网络攻击的潜在威胁之下。关于网络攻击可能带来的后果,相信大家心中都已有所了解。那么,攻击者常用的攻击服务…

    2026年7月29日
    0
  • 一文读懂 WebP 图像格式是什么?

    许多网站开始采用一种名为 WebP 的新图像格式。它究竟是什么,又为何比其他格式更有优势? WebP 是谷歌收购 On2 Technologies 后开发的图像格式,基于 VP8 …

    2026年4月11日
    0
  • 如何在Debian上安装NGINX

    Nginx是一款免费、开源、轻量级、高性能的web服务器,专为高流量的应用场景设计,也是Apache Web服务器和微软IIS之后的流行Web服务器。Nginx比Apache对资源…

    2026年5月11日
    0
  • 什么是DevOps 安全?

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

    2026年5月8日
    0
  • 云计算安全防护方案解析

    云计算安全是指一系列旨在保护数据、应用程序及技术基础设施的技术、解决方案与流程。它的重要性体现在,不仅能够守护企业与客户的数据安全,还能确保业务的持续稳定运行。本文将具体阐述云计算…

    2026年4月25日
    0
  • xss攻击是什么?

    XSS 是什么? XSS,即跨站脚本攻击,是 Cross-site scripting 的简称。 完整名称缩写后本该是 CSS,但这恰好与 层叠样式表 Cascading Styl…

    2026年6月8日
    0