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

  • 相关阅读:
    [fw]PAGE_SIZE & PAGE_SHIFT & _AC()
    Memory layout of x86_64 in Linux
    Compile Linux Kernel on Ubuntu 12.04 LTS (Detailed)
    ret/retn人为改变执行地址
    [fw]LINUX中断描述符初始化
    查看x86主機是否支援64bit in Linux
    Linux.中断处理.入口x86平台entry_32.S
    [fW]中断处理函数数组interrupt[]初始化
    Linux GNU GAS introduction
    洛谷试炼场 3-5数论 3-17 倍增
  • 原文地址:https://www.cnblogs.com/wyzersblog/p/13947971.html
Copyright © 2020-2023  润新知