vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护.

可以采用多种方式达到缩进的目的:

1) 命令模式(command mode)

2) Visual模式(visual mode)

2) 输入模式(entry mode)

3) 末行模式(last-line mode)

4) 在/etc/vimrc有给予vim的环境配置, 一般地, 个性化的定制vim的功能,建议在~/.vimrc文件中进行配置(一般用户可自行创建该文件).

命令模式:

>> 当前行增加一个单位缩进                      (即多少个空格为一个单位,为配置文件参数shiftwidth的值)
<< 当前行减少一个单位缩进                      (可以连续多次缩进多个单位长度)
#>> 当前行增加#个单位缩进
#<< 当前行减少#个单位缩进                     (6>>)

== 为自动排版,也可减少一个单位缩进

Visual模式:(在command mode下Ctrl + V切换)

可将选定的单行或多行:

> 增加一个单位缩进

< 减少一个单位缩进

#> 增加#单位缩进

#< 减少#单位缩进

输入模式:

Ctrl+T增加一个单位缩进

Ctrl+D减小一个单位缩进

末行模式:

startline, endline >        将startline至endline增加一个单位缩进     (经验证,貌似不能出现#>)

startline, endline <        将startline至endline减少一个单位缩进

在配置文件~/.vimrc中添加个性化自动缩进的环境配置参数:

一般有以下的几种:

autoindent: 新增加的行和前一行有相同的缩进形式;

smartindent: 1)每一行都和前一行有相同的缩进量;   
                   2)当遇到右花括号"}"时,则取消了缩进形式;
                   3)如果一行是以#开头的,则不缩进;
                   4)此外还增加了识别C语言关键字的功能;

cindent:   这是C语言的缩进形式,采用这样的缩进方式的程序语言有:C,C++,Java等;
              当采用这种缩进格式时,vi就会自动的采用标准的C语言形式.

先进性:   autoindent < smartindent  < cindent

可以用如下命令进行缩进形式的设置:(可在末行模式下操作)
set autoindent        或 set ai
set smartindent      或 set si
set cindent             或 set ci

关闭缩进时:  set noautoindent

...

与缩进(indent)相关的参数有:shiftwidth、tabstop、softtabstop、expandtab.

shiftwidth 操作(<<和>>)时缩进一个单位;
tabstop 一个tab键所占的空格数,linux 内核代码建议每个tab占用8个空格;
softtabstop 敲入tab键时实际占有的空格数;
expandtab 输入tab时自动将其转化为空格;

说明tabstop、softtabstop、expandtab之间的关系:

1)三者均用于定义一次tab键所代表的空格数;
2)当定义了softtabstop时,tabstop和expandtab均以softtabstop为准;
3)即当softtabstop=4  无论tabstop和expandtab为何值,最终都为4个空格作为一个单位.

vim ~/.vimrc

Linux中vim编辑器的缩进的功能键的更多相关文章

  1. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  2. Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全

    Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...

  3. 【Linux】Linux中VIM编辑器的使用

    vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...

  4. Linux中vim编辑器的总结

    vi( Visual Interface ) vim( VI iMproveed ):为纯文本(ASCII)全屏编辑器,也是模式化编辑器. vim的三种模式: 1)编辑模式(命令模式) 2)输入模式 ...

  5. Linux中vim编辑器常用命令

    移动光标 Ctrl+f:屏幕向下移动一页,相当于[Page Down]按键Ctrl+b:屏幕向上移动一页,相当与[PageUp]按键 0或功能键[Home]:数字‘0’:移动到这一行的最前面的字符处$ ...

  6. Linux中vim编辑器莫名下方出现H的问题

    在使用vim编辑文件的时候,不知道自己是按了哪个快捷键,导致了,每次编辑文件时,下方命令行出现数字+H的格式命令,使得整个文件没法编辑,强制退出后进入不能解决问题,各种文件的编辑都不行,找不出原因,最 ...

  7. linux中vim编辑器的翻页命令

    Linux jdk查看文件的最后一行         输入$回车 查看文件的第一行          输入0或者1回车 向前翻页                 Ctrl + f     f为forw ...

  8. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  9. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键   f 的英文全拼为:forward: ...

随机推荐

  1. CentOS6和CentOS7服务开机启动

    CentOS 6和CentOS 7都可以定义开机启动哪些服务,但CentOS 6的命令是chkconfig,CentOS 7是systemctl. 本文将介绍两种命令的实现方式. 一.CentOS 6 ...

  2. 【转】 Pro Android学习笔记(七一):HTTP服务(5):多线程调用HttpClient

    目录(?)[-] 应用共享HttpClient对象的同步问题 创建共享HttpClient代码 创建共享对象 创建可共享的HttpClient对象 使用共享HttpClient对象的代码 基础代码 修 ...

  3. windows7下安装gem包---bcrypt-ruby

    在Gemfile中添加 gem 'bcrypt-ruby', '~> 3.0.0' 然后执行bundle install,rails服务启动没有问题,但是运行程序时页面报错如下: cannot ...

  4. phpstorm断点调试 php.ini 文件中 Xdebug 配置

    [XDebug]xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"xdebug.trace_output_dir="D ...

  5. java 中Int和Integer区别以及相关示例

    Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入不是对象的基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrappe ...

  6. ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME

    在VS2008中创建一个数据源时,提示以下错误 “ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME” 本机安装ORACLE客户端,找出以下路径的文件D: ...

  7. 115个Java面试题和答案

    面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...

  8. 菜鸟级的Git与GitHub使用总结(转)

    菜鸟级的Git与GitHub使用总结 原创 2016年12月01日 14:58:30 1792 前言 这几天一直在折腾学习Git和GitHub的使用.几天下来,在网上查阅了大量的资料,总算有一些成果. ...

  9. ubuntu下root用户默认密码及修改方法

    [ubuntu下root用户默认密码及修改方法] 很多朋友用ubuntu,一般都是装完ubuntu系统,马上就修改root密码了,那么root用户的默认密码是多少,当忘记root用户密码时如何找回呢, ...

  10. 面试题: 数据库 已看1 group by 和order by的练习 sql语句练习简单 有用

    1.Sql 约束 http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html 2.修改列类型 MySQL:ALTER TABLE table ...