http://blog.163.com/clevertanglei900@126/blog/static/11135225920116891750734/

在Normal Mode下,命令>>将对当前行增加缩进,而命令<<则将对当前行减少缩进。我们可以在命令前使用数字,来指定命令作用的范围。例如以下命令,将减少5行的缩进:

5<<

在Insert/Replace Mode下,Ctrl-Shift-t可以增加当前行的缩进,而Ctrl-Shift-d则可以减少当前行的缩进。使用0-Ctrl-Shift-d命令,将移除所有缩进。需要注意的是,当我们输入命令中的“0”时,Vim会认为我们要在文本中插入一个0,并在屏幕上显示输入的“0”;然后当我们执行命令0-Ctrl-Shift-d时,Vim就会意识到我们要做的是减少缩进,这时0会就会从屏幕上消失。

缩进宽度默认为8个空格。我们可以使用以下命令,来修改缩进宽度:

:set shiftwidth=4

通过以下设置,每次点击Tab键,将增加宽度为8列的Tab缩进。

:set tabstop=8

:set softtabstop=8

:set shiftwidth=8

:set noexpandtab

使用以下设置,每次点击Tab键,增加的缩进将被转化为4个空格。

:set tabstop=4

:set softtabstop=4

:set shiftwidth=4

:set expandtab

其中,expandtab选项,用来控制是否将Tab转换为空格。但是这个选项并不会改变已经存在的文本,如果需要应用此设置将所有Tab转换为空格,需要执行以下命令:

:retab!

自动缩进

在Vim中还可以进行自动缩进,主要有cindent、smartindent和autoindent三种。

cindent Vim可以很好的识别出C和Java等结构化程序设计语言,并且能用C语言的缩进格式来处理程序的缩进结构。可以使用以下命令,启用cindent缩进结构:

:set cindent

smartindent 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。此外还增加了识别C语言关键字的功能。如果一行是以#开头的,那么这种格式将会被特殊对待而不采用缩进格式。可以使用以下命令,启用smartindent缩进结构:

:set smartindent

autoindent 在这种缩进形式中,新增加的行和前一行使用相同的缩进形式。可以使用以下命令,启用autoindent缩进形式。

:set autoindent

命令小结
>> 增加缩进
Ctrl-Shift-t
<< 减少缩进
Ctrl-Shift-d
:set shiftwidth=n 设置缩进宽度
:set cindent 启用cindent缩进结构
:set autoindent 启用autoindent缩进结构
:set smartindent 启用smartindent缩进结构

原文地址:http://yyq123.blogspot.com/2010/10/vim-indent.html

vim多行增加缩进的更多相关文章

  1. vim显示行号、语法高亮、自动缩进、添加下划线的设置

    ubuntu默认是没有安装vim的,所以设置以前请先安装vim:sudo apt-get install vim. 然后 打开vim的配置文件:sudo vim /etc/vim/vimrc 或者 s ...

  2. Ubuntu vim显示行号语法高亮自动缩进

    配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...

  3. 【转】 Vim多行缩进及高级命令

    学习别人的帖子,把内容变成自己的就是成长,此处MARK下 Vim多行缩进技巧 1.按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通常根据语言特征使用自动缩进排版:在命令状态 ...

  4. +p解决vim粘贴自动缩进。 数字gg跳到vim指定行。 vim查找到后,enter键修改

    +p解决vim粘贴自动缩进.  数字gg跳到vim指定行. vim查找到后,enter键修改

  5. vim 显示行号 临时&永久

    设置vim 永久显示行号 - electrocrazy的博客 - CSDN博客https://blog.csdn.net/electrocrazy/article/details/79035216 v ...

  6. endnote设置文献第二行悬挂缩进办法

    参考:http://blog.sina.com.cn/s/blog_62b13cf201014lfr.html  使用[endnote]插入文献后,如果文献稍长些,有第二行,第二行会顶格开始.并且这个 ...

  7. vim显示行号

    在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在 ...

  8. XCODE多行代码缩进快捷键

    转自:http://xiagudao.com/xcode多行代码缩进快捷键 在XCODE中无法使用TAB键对多行代码进行缩进.想多行缩进,选中需要缩进的代码使用快捷键command(花键)+] 即可右 ...

  9. 如何使得VIM显示行号

    如何使得VIM显示行号: :set number

随机推荐

  1. The Zen Programmer

    专注 何为专注 关于 休息 怎么睡觉 心无杂念 我的体会 自我分析 初学者心态 无我 不要设置职业目标 敏事慎言 正念 做自己的老板 玩物养志 结语 最近在研读Christian Grobmeier ...

  2. 递归dict

    一个看起来非常酷的定义 class Example(dict): def __getitem__(self, item): try: return dict.__getitem__(self, ite ...

  3. java解决Url带中文参数乱码问题

    首先打开Tomcat安装目录,打开conf文件,打开server.xml,找到这段代码: <Connector port="8080" protocol="HTTP ...

  4. Android捕获全局异常

    Android捕获全局异常 程序避免不了出现bug,导致程序崩溃,为了尽量不影响用户体验,可以全局捕获异常 效果图 异常捕获处理前 异常捕获处理后(将程序重新启动) 捕获异常的工具类 package ...

  5. paypal的IPN机制

    paypal对接时发现有这么一个机制,看起来还不错,起到了防止篡改欺诈行为,保证了通信的安全性,但会增加几次通信.

  6. 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象

     反射中加载类: Java中有一个Class类用于代表某一个类的字节码 .class文件    对应Class //1 加载类 // java中Class代表一个类,但是到底代表哪个类要明确指出 ...

  7. 5.3、Android Studio录像

    Android Monitor允许你从设备中录制一段MP4格式的视频,最长允许3分钟. 录制视频 在硬件设备中录制视频: 1. 打开一个项目 2. 在设备中运行应用 3. 显示Android Moni ...

  8. linux真正使用shell脚本做定时任务 关键的Nohup

    网上有很多的文章教大家使用定时任务,所以别的废话我就不多说了 我这里直接有SH来做定时,只是有一点大家不知道,一定要用Nohup,否则用户退出终端以后,SH任务会被自动终止掉 假设有一 tash.sh ...

  9. 与MP3相关的技术总结

    MP3文件格式解析 Peter Lee 2008-06-05 目录 33 B7 00 0001 02 FF FF FF F4 E1 2F FF FF FFFF DF FF FF FB52 8C 12 ...

  10. iOS中 UITableViewCell cell划线那些事 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang 在开发中经常遇到cell分割线显示不全或者想自定义线的宽高等; 最近总结了一下,希望帮到大家: 1.不想划线怎么办? Table ...