zoukankan      html  css  js  c++  java
  • [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)

    一、Vim缩进介绍

    在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理。在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格,以便支持文件移植和多操作系统打开。

    1.1 Vim缩进方法

    在Vim普通模式下,>> 会对当前行增加缩进,<< 则将对当前行减少缩进。

    在命令前可使用数字来指定命令作用的范围。例如 10>> 将对包括光标所在行的连续10行增加缩进,而执行Vim缩进操作 ( << 和 >> )时缩进的列数,可使用 shiftwidth 选项;

    1
    2
    "To change the number of space characters inserted for indentation"
    set shiftwidth=4

    上述配置指定了在vim普通模式下,使用 << 和 >> 进行缩进时缩进的列数为4个空格。

    1.2 Vim插入模式下Tab键缩进设置

    如果希望在Vim插入模式下按下 Tab 键时,输入到Vim中的都是空格,可通过设置 expandtab 选项实现:

    1
    2
    "set expandtab option to insert space characters whenever the tab key is pressed "
    set expandtab

    在Vim设置了 expandtab 后,如果在某些情况下需要输入真正的 Tab ,可以使用组合按键 Ctrl-V<Tab>

    1.3 使用空格替代Tab键

    如果需要设置按下 Tab 键时输入的空格个数,可以使用 tabstop 选项,以下Vim设置使用4个空格替代 Tab 键

    1
    2
    "insert 4 spaces for a tab"
    set tabstop=4

    Vim设置了 expandtab 选项后所有新输入的 Tab 键都会被替换为对应个数的空格,如果需要修改设置 expandtab 之前已经存在的所有 Tab 键,可以在Vim命令行模式使用命令 :retab

    二、Vim自动缩进

    Vim自带的自动缩进类型包括cindent、autoindent和smartindent三种。

    cindent采用C语言的标准缩进方式来处理Vim文件的缩进结构,使用以下Vim配置可启动cindent缩进类型。

    1
    set cindent

    Vim autoindent缩进模式下,新增加的行和前一行具有相同的缩进形式,可以使用以下配置启用autoindent缩进形式。

    1
    set autoindent

    在Vim smartindent缩进模式下,每一行都有相同的缩进量,直到遇到右大括号 (}) 取消缩进形式。

    如果某一行以 # 开头,那么该行不会采用上述缩进格式规则。可以认为smartindent是autoindent的升级版缩进方法。

    以下设置可以启用vim的smartindent缩进方式:

    1
    set smartindent

    :上述配置项可以直接在Vim命令模式下执行并立即生效。

    vim自动缩进

  • 相关阅读:
    Java实现 LeetCode 450 删除二叉搜索树中的节点
    PHP mysqli_field_count() 函数
    PHP mysqli_fetch_row() 函数
    PHP mysqli_fetch_object() 函数
    PHP mysqli_fetch_lengths() 函数
    PHP mysqli_fetch_fields() 函数
    linux修改IP地址
    树莓派玩耍笔记2 -- 我的板子是正品么?(解答一些小问题)
    在一台server上部署多个Tomcat
    第十八篇:融汇贯通--谈USB Video Class驱动
  • 原文地址:https://www.cnblogs.com/Chary/p/No000018F.html
Copyright © 2011-2022 走看看