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。效果可能会比以上几种简单的字符串处理更好。

  • 相关阅读:
    Linux下安装软件遇见的问题汇总
    使用AlarmManager定期执行工作
    android打开文件、保存对话框、创建新文件夹对话框(转载)
    一些算法的整理
    安卓adb调试命令常见的问题
    java下的串口通信-RXTX
    Unity 协程运行时的监控和优化
    Unity3D 协程的介绍和使用
    游戏服务器:到底使用UDP还是TCP
    Unity 可重复随机数
  • 原文地址:https://www.cnblogs.com/wyzersblog/p/13947971.html
Copyright © 2011-2022 走看看