oeasy教您玩转vim - 26 - 缩进设置
缩进设置
回忆上节课内容
- 这次了解了颜色的细节
设置 256 色模式
:set t_Co=256
- 然后确定了具体的各种颜色
- 还可以生成网页
:TOhtml - 还有什么好玩的么?

缩进设置

在正常模式下
- 使用
<<可以向前缩进 - 使用
>>可以向后缩进 - = 可以让当前行自动缩进
- 使用
使用 g g = G
- 可以从头自动缩进到结尾
- 这超爽
显示缩进
我们编程的时候会遇到缩进
- 这缩进究竟是
空格呢?还是tab呢? - 要把
空格和tab区别开来
- 这缩进究竟是
:set list使得列表生效- tab 会被显示为
^I - 行尾会显示
$
- tab 会被显示为

:set nolist使得列表失效- tab 会被显示为空格缩进

- 但是好像缩进看起来只有两格了
- 与实际不符
- 能修改么?
定制 tab 显示
- 把特殊字符作为
listchars组显示出来 :set listchars- 设置
listchars :set listchars=eol:$,tab:>-,space:_tab对应>->是开头-在后面补位

space对应_eol对应$:h listchars可以查看相关手册
空格颜色
:hi SpecialKey ctermfg=DarkRed guifg=grey70- 设置
listchars相应的颜色 - 设置得特殊一点
- 设置

最终效果

- 建议统一能用 tab 的时候就用 tab
- 减小文件容量

基础
- shiftwidth值是整个缩进的基础
:set shiftwidth=4shiftwidth是一个基础的值,对应- 按下
>>缩进的宽度 - 按下 tab 缩进的宽度
- 退格或者删除
\t时缩进的宽度
一般
tabstop、softtabstop都与他相同- 一般都是 4
- 如果
shiftwidth是 0 的话 - 就按照
tabstop来
解释 tab 宽度
tabstop是读取文件时用到的- 读到
\t字符时 - 解释他对应多少个空格的宽度
- 一般都是 4 个空格

softtabstop 处理空格的数量
如果
softtabstop等于 0- 特性取消,一切按照
tabstop来
- 特性取消,一切按照
如果
tabstop=4、softtabstop=8按下 tab 时
- 一次插入 8 个位置
- 看起来像插了两个 tab
要删除 tab 时
- 1 次删除空格 8 个
- 看起来像删了两个 tab
- 可以试试,能看出来
- 当他是负数的时候
shiftwidth起作用 - 所以说
shiftwidth是基础

扩展 tab
:set expandtab- 可以把输入的
tab变成空格
- 可以把输入的
设置好之后,在正常模式下
- > >
- 或者在插入模式下 tab 的时候
- 都看不到
>---,而是直接变成空格_
反之
:set noexpandtab之后- 插入的
tab都还是>---
- 插入的
:h expandtab可以查看相关手册expandtab可以简写为et

- 那已经存在的tab怎么办呢?
强制拓展
:retab!- 把已经存在的 tab 强制扩展成为空格

- 转过去之后
- 没有转回来的命令
- 慎重吧
- 我觉得tab挺好的
回车之后自动缩进
:set autoindent- 可以简写为
:set ai - 添加与上一行一致的缩进
- 取消为
:se noai
- 可以简写为
:set smartindent- 简写为
:se si - 在
autoindent的基础上根据{、}来调整本行缩进 - 取消为
:se nosi - 需要保证
:se nopaste
- 简写为
:set cindent- 根据类似于 c、java 的代码动态调节缩进
- 见到
if之类的可以自动缩进 - 取消为
:set nocindent

整体设定为
:set noexpandtab:set shiftwidth = 4:set tabstop =4:set softtabstop=4:set autoindent- 简写为
:set noet sw=4 ts=4 sts=4 ai - 这都个人喜好
- 没有绝对规定
总结
- 这次了解了缩进的各种方式
- 正常模式下用
<<缩进 - 插入模式下用
tab缩进 有关于缩进对应空格数的参数
- expandtab
- shiftwidth
- tabstop
- softtabstop
- autoindent
不同的文件类型可以对应不同的缩进吗??
- python、java缩进4个
- html、css可以缩进2个
- 下次再说
oeasy教您玩转vim - 26 - 缩进设置的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- Vim代码缩进设置
前段配置VPS,无奈只能使用Vim编辑Python代码,比较头疼的没法设置自动缩进,所以搜索了相关的配置,特记录如下. 将以下的设置加入到~/etc/vim/.vimrc中: set sw=4 set ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
随机推荐
- 在kubernetes里使用seccomp限制容器的系统调用
目录 一.系统环境 二.前言 三.系统调用简介 四.使用seccomp限制docker容器系统调用 五.在kubernetes里使用seccomp限制容器的系统调用 5.1 配置seccomp允许po ...
- C#中接口的显式实现与隐式实现及其相关应用案例
C#中接口的显式实现与隐式实现 最近在学习演化一款游戏项目框架时候,框架作者巧妙使用接口中方法的显式实现来变相对接口中方法进行"密封",增加实现接口的类访问方法的"成本& ...
- 16位简单ASM题的记录——[HGAME 2022 week1]easyasm
第一次遇见16位,和纯看汇编的题目,记录一下 DIE 16位,IDA用32位或者64位都可以打开 IDA 主要汇编部分 seg003:0000 ; =============== S U B R O ...
- 初识c语言—c语言的初步认识和一个简单的程序
C语言是什么 编程语言(编程语言是控制计算机的一系列指令,他又固定的格式和词汇.同时也叫计算机语言(计算机语言是,人和计算机通讯的语言)) C语言的特点 语言简洁,紧凑,使用方便 运算符丰富 数据类型 ...
- UML建模工具Astah Pro 8破解教程2022最新最详细版
(2022最新最详细版)UML建模工具Astah Pro 8破解教程 本文作者严正声明:拒绝盗版行为,打击盗版,痛恨吃白食的家伙,我一直都是坚定思想,有钱了一定要支持正版,所以此文档贡献,只为学习交流 ...
- MySQL入门到精通(十):SQL优化第一篇(2021最新发布)
SQL优化 1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,创建表时N ...
- OOP第二阶段题集总结
一.前言 知识点:考察继承和多态为多,其中还涉及迭代器的使用,在每个题集中都有一个综合性题目设计多方面知识点考试,有List类和HashMap的使用以及正则表达式的运用,并且注重考查设计,理解类与类之 ...
- Codeforces Round 923 (Div. 3) 比赛记录
Codeforces Round 923 (Div. 3) 这是我第二次参加 cf阴间场. 10 minutes ago: 这次报名人数超过 4 万,一开始网站就崩溃了,比赛延迟了 10 分钟..开局 ...
- k8s搭建安装 Harbor 私有镜像仓库(本地仓库,内网仓库)
主要参考 https://www.cnblogs.com/wangzy-Zj/p/14011228.html 额外: 1.如果 harbor.yml中的域名和openssl 生成的不一致,你改了hos ...
- mysql GROUP_CONCAT使用
完整的语法如下: 1 group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 1 2 3 4 5 ...