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. java中使用javamail发送邮件

    1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP. 其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMT ...

  2. mssqlserver数据导出到另外一个数据库

    mssqlserver数据导出到另外一个数据库 准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据" 设置源数据库信息 3.设置目标数据库,导 ...

  3. Linux下面安装MySQL

  4. 5-3 bash脚本编程之二 条件判断

    1. 条件测试的表达式 1. [ expression ]  :注意这个中括号的前后都有一个空格 2. [[ expression ]] 3. test expression 2.条件判断的类型 1. ...

  5. 2-sql基本操作

    sql基本操作 一.Sqlplus常用命令 1.查看oracle数据库的进程 2.查看oracle数据库运行状态 3.显示实例名(数据库名) 4.用sys账户登陆到数据库 5.解锁账户scott,并登 ...

  6. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

  7. java 线程池——异步任务

    一.简单粗暴的线程 最原始的方式,当我们要并行的或者异步的执行一个任务的时候,我们会直接使用启动一个线程的方式,如下面所示: new Thread(new Runnable() { @Override ...

  8. js给数组去重写法

    数组为 var list =['A','B','A']; 法一:常规做法,新建list,给list添加元素,添加前判断是否包含 var removeRepeatItem = function(list ...

  9. 用js实现动画效果核心方式

    为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...

  10. EntityFramework之监听者判断SQL性能指标

    前言 当我们利用EF这个ORM框架时,我们可能会利用LINQ或者原生的SQL语句来进行数据操作,此时我们无法确定我们的代码是否会给数据库带来一定的负载,当给数据库带来一定的压力时,由于项目中对数据进行 ...