VIM 设置缩进
2023-04-18 15:27:18 时间
VIM 设置缩进
- tabstop
- 只修改 Tab 字符的显示宽度
- 不修改按 Tab 键的行为
- softtabstop
- 修改按 Tab 键的行为
- 不修改 Tab 字符的显示宽度
- 具体行为跟 tabstop 选项值有关
- expandtab
- 把插入的 Tab 字符替换成特定数目的空格
- 具体空格数目跟 tabstop 选项值有关
TAB 替换为空格
set ts=4
set expandtab
# ! 表示处理所有 TAB 不然只处理行首
%retab!
# 转换后,需要再次输入 TAB 需要:Ctrl+V TAB
空格替换为 TAB
set ts=4
set noexpandtab
%retab!
展示字符
set list
set listchars=tab:>~,space:.
建议配置
" 自动缩进时,缩进长度为4
set shiftwidth=4
" 输入Tab字符时,自动替换成空格
set expandtab
" softtabstop的值为负数,会使用shiftwidth的值,两者保持一致,方便统一缩进.
set softtabstop=-1
- softtabstop=-1,即跟随 shiftwidth 设置
- 该配置统一了Tab和Backspace的行为,都是处理 4 个空格
demo
仅softtabstop=4
set softtabstop=4
此时 tabstop 未修改:tabstop=8
- 第一次点击 Tab,输入 4 个空格
- 第二次点击 Tab,将上次输入的空格,一并转为 Tab
- 第一次点击 Backspace,删除 Tab,留下 4 个空格
- 第二次点击 Backspace,删除剩下 4 个空格
At
当 softtabstop < tabstop,第一次按Tab,会插入 softtabstop 选项值相同数量的空格,当插入的空格个数达到 tabstop 指定的宽度时,会将这些空格转换成一个 Tab。
Backspace同上
softtabstop=4 tabstop=4
# 不建议 (其他软件上查看文件可能会出现排版异常)
set softtabstop=4
set tabstop=4
点击Tab,插入一个 Tab,不在插入空格
expandtab
set expandtab
- 设置后,会将一个 Tab 替换成 tabstop 选项值相同数量的空格
- 比如:tabstop=8,点击Tab,插入 8 个空格
At
expandtab 只改变新插入的 Tab
不改变文件已有的 Tab
参考链接:
https://www.jianshu.com/p/a5925aed4373
https://segmentfault.com/a/1190000021133524
C文件 vim配置
在命令模式
下逐个配置,或~/.vimrc
配置文件
# 指定文件内容
set filetype=c
# 开启行号
set number
# 缩写
set nu
# 设置自动缩进
set shiftwidth=4
# 缩写
set ts=4
# 设置缩进展示的宽度
set tabstop=4
# tab转空格
set expandtab
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击