vim格式化代码实际上就是 "缩进代码", 命令是等号=

格式化就是 vim 根据 文件的类型, 自动的对代码进行 缩进

缩进的类型有多种, 都是用等号命令: =

  1. 全部格式化 : gg=G
  2. 对当前行格式化(缩进): ==
  3. 对以下多行格式化(倍数操作): [count] ==
  4. 选择多行后, 执行 等号命令 =

vim的插件管理有 pathogen['p2s2dg2n], (病原体, 微生物)和vundle. 而pathogen的主要作用是 将 一个插件所包含的所有内容位置 统一的放在一个目录中, 而不至于再删除的时候, 到处去寻找跟插件相关的内容. 但是 pathogen 没有自动查找搜索插件的功能. 而现在, 实际上, vundle也具有 集中放置插件的功能了. 所以, 基本上都不用pathogen而用vundle了.

shift和unshift:

shift是 队列数组 移位移出, 从数组中去除该元素, 同时返回该元素的值.

而unshift则是 在数组的 开头插入元素.


关于vim中的tab宽度

shiftwidth shift是移位, 代码移位, 代码缩进, (是上面的代码向左移位, 因此下面的代码向右缩进),

参考:http://blog.csdn.net/langxianwenye/article/details/17223807http://blog.csdn.net/shell_picker/article/details/6033023http://blog.csdn.net/feiyangyangfei/article/details/17630619

tabstop是指tab键表示的空格的长度. 默认 的是8. set ts=4. (ts: tabstop) 只是显示的效果问题, 跟程序的编辑和显示问题 其实是 没有关系的!

真正会对程序中的内容, 缩进格式等产生影响的是: softtabstop, 和 shiftwidth:

softtabstop: 软tab站, 是指在软件编辑的过程中(如插入tab, 删除一个tab 的时候)所经过的长度.

而shiftwidth 则是控制 换行时的缩进 距离和长度, (即每一级的缩进长度), 这个shiftwidth 是控制 "格式化"命令时, 每一行缩进的长度.

而smarttab则是 "会忽略前面的设置", 而自己根据上文的缩进来决定 该行的 缩进距离和长度.???

所以, 为了省心, 可以把上面的三者设置成一样的, 通常都设置为4.

expandtab是将tab扩展为空格.(因为在某些编程中, 为了编程风格的一致性, 要求不使用tab, 只使用空格)

noexpandtab 则是相反的.

set %retab! %是范围, 表示全部, retab: reply tab(或者 重新tab一次), !表示对所有非空白字符后的tab都retab一次, 如果不加!,则只处理行首的TAB. 这个对set expandtab/ noexpandtab都有效!


vim中的映射命令,有的有冒号, 有的没有冒号?

如: **要设置NerdTree的显示/关闭切换的映射命令是 nmap <F4> :NERDTreeToggle<CR> , 这里要不要冒号, 是根据你 的映射命令的操作模式来决定的, 如果你要映射的是在 命令行模式下执行的 就要加冒号. 最后的cr是在命令行模式下必须加的, 你不回车就不会执行.

rove和rave的区别?

rave是 "怒吼, 咆哮, 大喊大叫, 狂欢" == rant. do not rant and rave or throw tea cups.

rove是: 倘佯, 游荡,闲逛的意思, 也是 "land rove" 罗孚--陆虎的牌子.

vim格式化代码实际上就是 "缩进代码", 命令是等号=的更多相关文章

  1. [VIM] 格式化代码

    快速使用vim格式化代码 在vim的编辑模式i下直接ESC退出道命令模式之后直接敲入如下命令: gg=G        将全部代码格式化 nG=mG    将第n行到第m行的代码格式化 注:如果ESC ...

  2. 如何通过VIM把代码格式化后生成HTML网页代码

    本文转自http://wangxiaoyu.blog.51cto.com/922065/203471 需求及思路:演示需要,需要网站上嵌入一些代码,我的建议做法是根据代码文件,生成相应的HTML代码, ...

  3. 在vim中使用perltidy美化perl代码

    来源: http://www.cnblogs.com/itech/archive/2013/02/18/2915279.html 格式优美的perl代码不但让人赏心悦目,而且可以方便阅读. perlt ...

  4. vim中凝视多行python代码

    在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...

  5. 让Eclipse不格式化数组或某段代码

    用过eclipse ctrl+shit+f的人肯定都感觉eclipse这个功能很爽. 但对于数组,有时候就不是这样了. 比如在opengl中定义一些顶点信息: int one = 0x010000; ...

  6. VS2013使用滚动条缩略图、双击选中高亮、配色方案、代码竖虚线(缩进标尺)

    1.双击代码或选中代码高亮,用以下插件,反应很灵敏,我安装的是第三个 2.代码编辑器的滚动条缩略图是VS自带的,需要打开菜单----工具----选项,如下图设置: 3.VS默认的选中颜色,需要打开菜单 ...

  7. 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块,python的代码块可以提升整体的整齐度,提高开发效率

    # ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) if True: print(3) print(4) if Fa ...

  8. Android 当修改一些代码时,使用什么编译命令可以最有效率

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  9. 工欲善其事 之 Web 前端调试工具格式化混淆过的 JS 代码

    工欲善其事 之 Web 前端调试工具格式化混淆过的 JS 代码 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...

随机推荐

  1. hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///

    Java代码如下: FileSystem fs = FileSystem.get(conf); in = fs.open(new Path("hdfs://192.168.130.54:19 ...

  2. WPF SpreadSheetGear电子表单

    我们经常会碰到生成Excel 界面并在其上操作的功能开发. 比如如下界面,我们需要在菜单里添加一个菜单按钮"Columns To Rows Transform" 功能是对多列批量转 ...

  3. ubuntu 14.04 配置tomacat8

    自己在虚拟机总安装tomcat8,主机访问,记下步骤方便以后查看. 1.将tomcat8安装包移动到/usr/local目录中(个人喜欢把自己安装的软件放到/usr/local文件夹中) 2.解压缩, ...

  4. Linux下使用crontab定时备份日志

    上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...

  5. C语言文法

    C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明   → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...

  6. 内网劫持渗透新姿势:MITMf简要指南

    声明:本文具有一定攻击性,仅作为技术交流和安全教学之用,不要用在除了搭建环境之外的环境. 0×01 题记 又是一年十月一,想到小伙伴们都纷纷出门旅游,皆有美酒佳人相伴,想到这里,不禁潸然泪下.子曰:& ...

  7. PDF/WORD/EXCEL/PPT 文档在线阅读

    查资料看了2种解决方法: 1.通过办公软件dll转换,用flans去看 2.通过Aspose转换成pdf格式,在用js前台读pdf(我用的pdf.js) 今天我解决的就是WORD/EXCEL/PPT ...

  8. Spring框架值注解

    注解配置概括 Spring可以按指定的包路径扫描内部的组件,当发现组件类定义前有一下的注解标记,会将该组件纳入Spring容器中. 1)@Component(其他组件) 2)@Controller(A ...

  9. [LeetCode] Binary Tree Inorder Traversal 二叉树的中序遍历

    Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tre ...

  10. SQLite3源程序分析之虚拟机

    前言 最早的虚拟机可追溯到IBM的VM/370,到上个世纪90年代,在计算机程序设计语言领域又出现一件革命性的事情——Java语言的出现,它与c++最大的不同在于它必须在Java虚拟机上运行.Java ...