zoukankan      html  css  js  c++  java
  • vim缩进

    一些设置选项的含义

    set expandtab: 编辑时将tab展开为tabstop个空格。

    shiftwidth:使用自动缩进或>><<等命令时的缩进宽度。若无expandtab,当连续缩进达到tabstop距离时,会替换为一个tab字符。

    tabstop文件中的tab的显示宽度。

    softtabstop编辑时按下的缩进宽度,不启用expandtab会混合tab与space进行缩进。

    一些组合

    1). tab字符显示4个space;缩进只使用4空格

    set tabstop=4
    set shiftwidth=4
    set expandtab
    

    2). tab字符显示8个space;缩进只使用4空格

    set softtabstop=4
    set shiftwidth=4
    set expandtab
    

    个人认为,维持tabstop和缩进空格数一致(即组合1)更好。大多数源代码文件都是space-only或者tab-only的,而使用tabstop=4可以使用:retab将源文件转换为4-space缩进的源文件。

    3). 只用tab(4-space)

    set tabstop=4
    set shiftwidth=4
    

    缩进模式之间的转换

    由于只是简单的字符串处理,不涉及源码编译。所以以下方法不能完美的实现缩进转换。如果您有更好的方法,欢迎留言。

    1). tab到空格
    :%retab
    将文件中的tab替换为tabstop个空格。可能会影响字符串中的tab(不是转义字符' ')

    2). 空格到tab
    :%retab!
    与1)相反。同样可能会影响字符串。

    3). 2-space到4-space
    :%s/ /&&/g
    可能会影响字符串中的内容。

    4). 4-space到2-space
    :%s/ / /g
    可能会影响字符串中的内容。

    5). 格式化
    gg=G
    将整个文件格式化,使用cindentlisp。效果可能会比以上几种简单的字符串处理更好。

  • 相关阅读:
    编辑器 --- Visual Studio Code 英文界面转换成中文(简体)
    CSS3 -- column 实现瀑布流布局
    CSS3 -- 边框圆角
    CSS3 -- 弹性盒
    自适应布局要素
    Vue -- 基础知识
    Vue -- element-ui el-table 的合计在第一行显示并可点击
    如何在网页标题栏title加入logo(icon)图标?
    linux下暴力破解工具hydra【转】
    linux 服务简介
  • 原文地址:https://www.cnblogs.com/wyzersblog/p/13947971.html
Copyright © 2011-2022 走看看