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

转载于:https://www.cnblogs.com/ant-colonies/p/6268681.html

Linux中vim编辑器的缩进的功能键相关推荐

  1. linux中vim编辑器_为什么Vim爱好者喜欢Herbstluftwm Linux窗口管理器

    linux中vim编辑器 每个人都喜欢Vim(除了Dvorak和Emacs用户). Vim非常流行,以至于整个Web浏览器都致力于通过Vim键盘绑定,流行的Zsh终端仿真器中的Vim模式甚至文本编辑器 ...

  2. Linux中vim编辑器保存退出命令

    Linux中vim编辑器保存退出命令 进入vim编辑器,输入 i 进入编辑状态 按esc退出编辑 常用的保存退出命令如下: 1.:w(保存编辑的文件内容,但不退出vim编辑器) 2.:w!(强制写文件 ...

  3. Linux 中vim编辑器学习笔记

    vim是Linux是非常常用的编辑器,也是编程开发中的神器之一.接下来,是我学习vim编辑器的一些笔记,总结如下: 首先:我们接触的vim编辑器一共有三种模式,分别为命令模式.编辑模式.末行模式. 具 ...

  4. Linux中vim编辑器基本操作就这么简单

    vim可以说是学习linux的必备技能,文件的拷贝实在是太麻烦了,不如直接对原文件进行修改. 所以我这里就总结了一些基础操作,看完你肯定能够学会vim对文件进行基础的操作. 什么是 vim? Vim是 ...

  5. Linux 中 vim编辑器如何跳转到指定的列、如何跳转到行首或者行尾、左右跳转

    1.跳转到首行(文件的第一行第一列) gg # 输入两个小写gg 2.跳转到末行(文件的最后一行第一列) G #输入一个大写G 3.跳转到指定的第n行 66gg 66G # 输入 ngg 或 nG, ...

  6. linux下vim编辑器插件,为你介绍Linux系统中vim编辑器的实用插件!

    今天小编要跟大家分享的文章是关于Linux系统中vim编辑器的实用插件.Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门. Linu ...

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

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

  8. linux中vim保存快捷键设置,Linux中vim操作快捷键非常简洁

    Linux中vim操作快捷键非常简洁 作者:PHPYuan 时间:2019-03-20 03:40:08 vim 中快捷键操作(简洁版) yy:复制 p:粘贴[大写P是光标所在行的上一行粘贴,小p反之 ...

  9. Linux(3) Vim编辑器

    今天学习编辑器之神Vim vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适合写代码.Vim重点是光标的移动,模式切换,删除,查 ...

最新文章

  1. 藤本植物和攀爬植物模型包 Globe Plants – Bundle 23 – Vines and Creepers 03 (3D Models)
  2. 第四周实践项目4 建立算法库——双链表
  3. C#中要使一个类支持FOREACH遍历,实现过程怎样? [转]
  4. tikz包 安装_Latex之安装宏包 | 学步园
  5. Windows 11 小技巧- WSL开启Linux桌面应用
  6. 中countif函数_countif与countifs:单条件与多条件计数适用场景
  7. 全球芯片短缺将持续到2022年 GPU备货将受影响?
  8. FD.io VPP 使用场景-用例
  9. linux 文件系统字体小,基于嵌入式Linux平台的最小文件系统的制作
  10. arr数组怎么取值_【JavaScript】Array数组常规使用小结(持续更新......)
  11. Danfo.js专题 - Series对象
  12. celery 停止任务_Celery 周期任务运行一段时间后意外停止
  13. zabbix监控系统的实际应用(客户端安装-基本应用设置-报警提醒篇)
  14. Lan Xiang's Square nyoj 1099(已经四边形四点坐标 如何判断正方形)
  15. 杨强教授新番!破解机器学习数据孤岛和数据保护难题
  16. 短信发送/支付/密码重置逻辑漏洞学习
  17. 智能网联汽车仿真测试软件,智能网联汽车测试评价及检测认证
  18. 第三方支付清算的信息流与资金流
  19. 阳线双响炮K线形态,上升势不可挡,送指标源码
  20. 长江雨课堂考试半自动答题python脚本

热门文章

  1. AFNetworking到底做了什么?
  2. 前端-html、css
  3. UVALive 6525 Attacking rooks 二分匹配 经典题
  4. windows+nginx负载测试
  5. dhl:mvc用户登陆身份验证
  6. SQL SERVER 数据库主键和外键的思考
  7. centos arm-linux-gcc,CentOS 6.4配置arm-linux-gcc交叉环境
  8. mysql innodb flush method_对innodb_flush_method的一点解释
  9. Matlab求欧式距离
  10. Matlab功率谱估计