Vim学习——缩进

Vim学习——缩进

在一台新的虚拟机上安装好vim通常都是默认配置,在默认配置下,用户的体验很差,尤其是其默认缩进,真是又丑又难用。所以我在查阅了一些缩进相关的设置与操作后分享给大家。

1、设置缩进相关选项

该选项可用于配置为~/.vimrc文件

:set autoindent

作用:自动缩进新行,使其与上一行的缩进级别相同。
示例:set autoindent 启用自动缩进。

:set shiftwidth=n 

作用:设置自动缩进和缩进命令(>>、<<)使用的缩进宽度为 n 个空格。
示例:set shiftwidth=4 将缩进宽度设置为 4 个空格。

:set tabstop=n

作用:设置显示时一个制表符占据的空格数为 n。
示例:set tabstop=4 将制表符宽度设置为 4 个空格。

:set softtabstop=n

作用:设置按 Tab 键时插入的空格数为 n。如果未设置 expandtab,按 Backspace 键时也会以这个宽度删除空格。
示例:set softtabstop=4 将按 Tab 键时插入的空格数设置为 4。

:set expandtab

作用:将输入的 Tab 转换为空格。这意味着在文件中不会实际使用 Tab 字符,而是用空格来表示缩进。
示例:set expandtab 将所有 Tab 转换为空格。

:set noexpandtab

作用:允许使用实际的 Tab 字符进行缩进。如果你不希望 Tab 被转换为空格,可以使用这个设置。
示例:set noexpandtab 允许使用 Tab 字符。

:set smartindent

作用:为编程语言提供智能缩进。这通常意味着根据语言的语法规则来调整缩进。
示例:set smartindent 启用智能缩进,特别适用于 C 等语言。

:filetype plugin indent on

作用:根据文件类型自动加载对应的缩进文件(如果有的话)。这有助于 Vim 为不同类型的文件提供适当的缩进行为。
示例:filetype plugin indent on 启用文件类型相关的缩进。

2、缩进当前行

>>:增加当前行的缩进。
<<:减少当前行的缩进。
==:自动调整当前行的缩进。

3、缩进多行

n>>:增加接下来 n 行的缩进。
n<<:减少接下来 n 行的缩进。
n==:自动调整接下来 n 行的缩进。

4、缩进块(Visual模式)

进入 Visual 模式(v、V 或 Ctrl+v)。
选择要缩进的文本块。
>:增加所选文本块的缩进。
<:减少所选文本块的缩进。
=:自动调整所选文本块的缩进。

5、缩进整个文件

gg=G:缩进整个文件,gg 跳到文件第一行,G 跳到文件最后一行,= 自动调整缩进。

6、使用缩进命令

:(indent)}:增加当前行以下的缩进。
:(indent){:减少当前行以下的缩进。
:retab:重新设置制表符,根据 tabstop 和 shiftwidth 的设置。

7、配置vimrc文件

在 ~/.vimrc 文件中设置可以帮助我们根据个人喜好和项目要求来自定义 Vim 的缩进行为。例如,如果你喜欢使用 4 个空格作为缩进宽度,可以在 ~/.vimrc 中添加以下行:

set shiftwidth=4 "自动缩进或者”>>“,“<<”命令的缩进空格数
set tabstop=4 "Tab键的空格数 
set softtabstop=4 "tab键的一个制表符,如果softtabstop=5,tabstop=4,则tab是1个制表符加1个空格的混合
set expandtab "tab转换为空格
set autoindent "自动缩进
set smartindent "C自动缩进
filetype plugin indent on

这些设置将使得 Vim 在你编辑文件时使用 4 个空格作为缩进,并且自动调整新行的缩进以匹配前一行。如果你在一个团队中工作,确保你的缩进设置与团队的编码标准一致。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值