格式化代码_vim技巧:自动格式化对齐代码,手动增加或减少代码缩进

a9bef4b362159c7a052f6cd1206b7da9.png

本篇文章介绍 vim 的一些使用技巧:

  • 自动格式化对齐代码
  • 手动增加或减少代码缩进

自动格式化对齐代码

在 vim 中,可以用 = 命令对代码文件自动格式化对齐。具体用法说明如下:

  • ==
    对光标所在行进行自动格式化对齐,会根据代码情况增加或减少缩进。可以在 == 前面加上数字,指定要同时处理多少行。例如,4== 会格式化对齐当前行、以及后面的三行。
  • gg=G
    对整个文件都重新格式化对齐。
  • ={motion}
    自动格式化 {motion} 操作前后的行。{motion} 可以是 vim 里面任意移动光标的操作。例如常见的 j、k、G、% 等。% 用于移动光标到匹配的括号上。当光标在 { 或者 }上时,=%会格式化整个 {} 括起来的内容,包括 {} 自身。

下面的 a{、i{ 也是 {motion} 的一种:

  • =a{当光标所在行位于 {} 花括号内时,自动格式化对齐整个 {} 里面的内容,包括 {} 这两个花括号所在的行也会一起格式化,以 { 的上一行为基准来对齐。如果 { 自身的对齐错乱了,可以把 { 所在的行也一起对齐。
  • =i{
    当光标所在行位于 {} 花括号内时,自动格式化对齐整个 {} 里面的内容,不包括 {} 这两个花括号所在的行,以 { 所在的行为基准来进行对齐。如果 { 自身所在行的对齐错乱,不会把 { 所在的行也一起对齐。

手动增加或减少代码缩进

= 命令自动格式化,默认使用C语言的对齐风格。如果不喜欢这种风格,也可以手动增加或减少缩进来对齐。下面几个命令可以用于手动缩进:

  • >>
    把光标所在行向右增加缩进,缩进空格数由 shiftwidth 选项指定。
  • >{motion}
    对 {motion} 操作前后的行向右增加缩进。缩进空格数由 shiftwidth 选项指定。{motion} 可以是 vim 里面任意移动光标的操作。
  • <<
    把光标所在行向左减少缩进,缩进空格数由 shiftwidth 选项指定。
  • 对 {motion} 操作前后的行向左减少缩进。缩进空格数由 shiftwidth 选项指定。{motion} 可以是 vim 里面任意移动光标的操作。

下面的 a{、i{ 也是 {motion} 的一种,可以用于 > 或者 < 命令。

  • >a{当光标所在行位于 {} 花括号内时,将整个 {} 里面的内容向右增加缩进,包括 {} 这两个花括号所在的行也会一起缩进。
  • >i{
    当光标所在行位于 {} 花括号内时,将整个 {} 里面的内容向右增加缩进,不包括 {} 这两个花括号所在的行,它们自身的行不会被缩进。

:help = 命令查看 = 命令的帮助说明。
:help < 和 查看 < 命令和 > 命令的帮助说明,这两个命令的说明是相邻的。
:help motion.txt 命令查看有哪些 {motion} 操作可以移动光标。
:help usr_30.txt 查看 =、> 命令在对齐方面的举例说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值