oeasy教您玩转vim - 26 - 缩进设置

茧型封装
• 阅读 776

缩进设置

回忆上节课内容🤔

  • 这次了解了颜色的细节
  • 设置 256 色模式

    • :set t_Co=256
  • 然后确定了具体的各种颜色
  • 还可以生成网页 :TOhtml
  • 还有什么好玩的么?🤔

oeasy教您玩转vim - 26 - 缩进设置

缩进设置

oeasy教您玩转vim - 26 - 缩进设置

  • 在正常模式下

    • 使用 << 可以向前缩进
    • 使用 >> 可以向后缩进
    • = 可以让当前行自动缩进
  • 使用 g g = G

    • 可以从头自动缩进到结尾
  • 这超爽🤪

显示缩进

  • 我们编程的时候会遇到缩进

    • 这缩进究竟是 空格 呢?还是 tab 呢?
    • 要把 空格tab 区别开来
  • :set list 使得列表生效

    • tab 会被显示为 ^I
    • 行尾会显示 $

oeasy教您玩转vim - 26 - 缩进设置

  • :set nolist 使得列表失效

    • tab 会被显示为空格缩进

oeasy教您玩转vim - 26 - 缩进设置

  • 但是好像缩进看起来只有两格了
  • 与实际不符
  • 能修改么?

定制 tab 显示

  • 把特殊字符作为 listchars 组显示出来
  • :set listchars
  • 设置 listchars
  • :set listchars=eol:$,tab:>-,space:_

    • tab 对应 >-
    • > 是开头
    • - 在后面补位

oeasy教您玩转vim - 26 - 缩进设置

  • space 对应 _
  • eol 对应 $
  • :h listchars可以查看相关手册

空格颜色

  • :hi SpecialKey ctermfg=DarkRed guifg=grey70

    • 设置 listchars 相应的颜色
    • 设置得特殊一点

oeasy教您玩转vim - 26 - 缩进设置

最终效果

oeasy教您玩转vim - 26 - 缩进设置

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

oeasy教您玩转vim - 26 - 缩进设置

基础

  • shiftwidth值是整个缩进的基础
  • :set shiftwidth=4

    • shiftwidth 是一个基础的值,对应
    • 按下 >> 缩进的宽度
    • 按下 tab 缩进的宽度
    • 退格或者删除 \t 时缩进的宽度
  • 一般 tabstopsofttabstop 都与他相同

    • 一般都是 4
    • 如果 shiftwidth 是 0 的话
    • 就按照 tabstop

解释 tab 宽度

  • tabstop读取文件 时用到的
  • 读到 \t 字符时
  • 解释他对应多少个空格的宽度
  • 一般都是 4 个空格

oeasy教您玩转vim - 26 - 缩进设置

softtabstop 处理空格的数量

  • 如果 softtabstop 等于 0

    • 特性取消,一切按照 tabstop
  • 如果 tabstop=4softtabstop=8

    • 按下 tab

      • 一次插入 8 个位置
      • 看起来像插了两个 tab
    • 要删除 tab 时

      • 1 次删除空格 8 个
      • 看起来像删了两个 tab
    • 可以试试,能看出来
  • 当他是负数的时候 shiftwidth 起作用
  • 所以说 shiftwidth 是基础

oeasy教您玩转vim - 26 - 缩进设置

扩展 tab

  • :set expandtab

    • 可以把输入的 tab 变成空格
  • 设置好之后,在正常模式下

    • > >
    • 或者在插入模式下 tab 的时候
    • 都看不到 >---,而是直接变成空格 _
  • 反之 :set noexpandtab 之后

    • 插入的 tab 都还是 >---
  • :h expandtab 可以查看相关手册

    • expandtab 可以简写为 et

oeasy教您玩转vim - 26 - 缩进设置

  • 那已经存在的tab怎么办呢?

强制拓展

  • :retab!
  • 把已经存在的 tab 强制扩展成为空格

oeasy教您玩转vim - 26 - 缩进设置

  • 转过去之后
  • 没有转回来的命令
  • 慎重吧
  • 我觉得tab挺好的

回车之后自动缩进

  • :set autoindent

    • 可以简写为 :set ai
    • 添加与上一行一致的缩进
    • 取消为 :se noai
  • :set smartindent

    • 简写为 :se si
    • autoindent 的基础上根据 {} 来调整本行缩进
    • 取消为 :se nosi
    • 需要保证 :se nopaste
  • :set cindent

    • 根据类似于 c、java 的代码动态调节缩进
    • 见到 if 之类的可以自动缩进
    • 取消为 :set nocindent

oeasy教您玩转vim - 26 - 缩进设置

整体设定为

  • :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个
  • 下次再说 👋
点赞
收藏
评论区
推荐文章
皕杰报表之柱状图
1.当我们想设置柱状图时,可以在皕杰报表内,鼠标右键设置类型选择图表类型,鼠标双击图表,选择柱状图和图标模式普通柱状图。可以设置为水平方向。2.选择数据设定,在‘分类轴’和‘系列’中分别设定其值或者表达式。3.选择显示格式,一般图表包括图表区,标题与图例,X轴,Y轴和警戒线。图表颜色:设置图表数据区以外的背景色和字体颜色。数据区颜色:设置数据区内的背景颜色和
Jacquelyn38 Jacquelyn38
4年前
一篇文章带你使用Typescript封装一个Vue组件
搭建项目以及初始化配置vue create tsvuebtn这里使用了vueCLI3自定义选择的服务,我选择了ts、stylus等工具。然后创建完项目之后,进入项目。使用快捷命令code.进入Vscode编辑器(如果没有code.,需要将编辑器的「bin文件目录地址」放到环境变量的path中)。然后,我进入编辑器之后,进入设置工作区,随便设置一个
Wesley13 Wesley13
4年前
java 反射得到属性与属性值
<divid"cnblogs\_post\_body"class"blogpostbody"<p反射可以破坏所有的封装性,比如这次通过反射得到的属性与属性值;</p<divclass"cnblogs\_code"<divclass"cnblogs\_code\_toolbar"<spanclass"cnblogs\_co
虾米大王 虾米大王
3年前
java代码029
code029.jsp页面设置缓冲
虾米大王 虾米大王
3年前
java代码043
code043.jspjavaBean设置属性的值
Wesley13 Wesley13
4年前
CSS背景颜色、背景图片、平铺、定位、固定
CSS背景颜色设置backgroundcolor:red;如设置背景颜色为红色;背景颜色设置支持3种写法:颜色名16进制rgbCSS背景图片颜色设置backgroundimage:url(图片地址);如设置背景图片路径不在说明了!CSS背景图片平铺设置(如果不设置图片默认设置为x轴y轴同时平铺即值为repeat)b
Wesley13 Wesley13
4年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Stella981 Stella981
4年前
Mac005
MacVisualstudioCode工具安装(企业常用)安装网址:https://code.visualstudio.com/download设置格式:1。配置工作区与终端字体大小!(https://images2018.cnblogs.com/blog/127
Wesley13 Wesley13
4年前
APP 验证码 采用MEMCAHED验证的坑
都知道APP不是用浏览器来的,所以验证码生成sessioncookie是行不通了。一开始APP进入验证码界面,先让他请求一次服务器,生成key:code返回去。再把拿到的KEY带到服务器上面去生成图片。同时生成一个key:code再把key返回到客户端,当客户端验证图片的时候再把key再到服务器上去获取key里的code进行对比。一旦对比成功放行,对比
Stella981 Stella981
4年前
PostgreSQL 主键自动增长
建立主键并设置自动增加的办法好好几种,这里记录我测试过的:droptablepro_process;CREATETABLE"public"."pro_process"("id"SERIALprimarykey,//设置主键并自动增长"county_code"varchar(6)COLLATE
Wesley13 Wesley13
4年前
ubuntu文件夹颜色设置及vim颜色配置
Linux系统中ls文件夹的痛苦我就不说了,为了不伤眼睛,一般ssh终端背景都用的黑色,文件夹又是你妈的深蓝色,每次看文件夹都要探头仔细去看。这下彻底解决这个问题。因为ubuntu下的/etc/目录里没有DIR\_COLORS,所以费了点劲儿。方法一:1.利用dircolors命令,查看我们的系统当前的文件名称显示颜色的值,然后利用
茧型封装
茧型封装
Lv1
巴山楚水凄凉地,二十三年弃置身。
文章
2
粉丝
0
获赞
0