1.折叠

     1.1折叠的方式有六种
          manual:以标准的vim结构定义折叠跨越的范围,类似移动命令
          indent:折叠与折叠的层次,对应于文本的缩排与shiftwidth选项值
          expr:以正则表达式定义折叠
          syntax:折叠对应于文件所用的程序语言语义
          diff:以两个文件的差异定义折叠
          marker:以文件定义的标记指定折叠边界
     1.2折叠命令
          所有的折叠相关命令都以“z”开始,常用折叠命令如下:
          zA:递归切换折叠状态
          zC:递归关闭折叠状态
          zD:递归删除折叠
          zE:去除所有折叠
          zf:创建折叠(只计算看得见的行)
          countzF:创建包含count行的折叠(只计算看得见的行)
          zM:设置foldlevel选项为0
          zN,zn:设置(zN)或复位(zn)foldenable选项
          zo:递归打开折叠
          za:切换一个折叠的状态
          zc:关闭一个折叠
          zd:删除一个折叠
          zi:切换foldenable选项的值
          zk,zj:移动光标到下一个折叠开始的地方或相反方向
          zm,zr:递减或递增foldlevel选项的值
          zo:打开一个折叠
          zM:递归关闭所有折叠
          zR:递归打开所有折叠
     1.3常用折叠设置
          :set foldcolumn=n  :设置折叠状态列宽度(左边框)
          :set foldmethod=(六种方式的任意一种):设置折叠模式
          :set foldlevel=n :设置显示的折叠层次,小余等于n的将被显示
     1.4对于折叠的操作都是对折叠内的所有内容生效
 
2.自动智慧缩排
 
  :set cindent #标准c缩进,可自定义触发缩进的关键字和缩进风格
 
 
3.关键字不全
 
   多种补全模式
• Whole line

• Current file keywords
• dictionary option keywords
• thesaurus option keywords
• Current and included file keywords
• Tags (as in ctags)
• Filenames
• Macros
• Vim command line
• User-defined
• Omni
• Spelling suggestions
• complete option keywords

除了complete所有的补全都先按 ctrl+x 然后ctrl+代表补全模式的字母(F补全文件名)

ctrl+n,ctrl+p查询其他匹配

ctrl+e 取消匹配补全

ctrl+x,ctrl+l整行补全

ctrl+x,ctrl+k 关键字补全,关键字文件和选项需要自己定义

• /usr/dict/words (Cygwin on XP)
     • /usr/share/dict/words (FreeBSD)
     • $HOME/.mydict (personal list of dictionary words)

":set dictionary=~/.mydict"b
ctrl+x,ctrl+t 词库补全,词库文件和和选项要自己设置

eg:词库文件 ~/mymythesaurus

设置选项":set thesaurus=~/.mythesaurus"

词库中的一行可以设置许多相关的词,这一行中任何词的头部都将匹配出该行所有其他的词

ctrl+x,ctrl+I 当前文件及当前文件包含文件中去匹配,包含文件已标准c语法指出(#include<some.h> #include"some.h"),vim将根据语法查找标准头文件及用户头文件

ctrl+x,ctrl+] 标签匹配

ctrl+x,ctrl+f 文件名补全

ctrl+x,ctrl+v vim命令补全

ctrl+x,ctrl+d 宏补全

标签

":tag  /pattern"  //查找匹配正则表达式的所有tag

          ":ts /pattern"      //查找匹配正则表达式的所有tag
 
 
语法高亮显示
 
"syntax enable"  //打开语法高亮显示
"syntax on"        //打开语法高亮显示
 
三个调整颜色的选项
 
"set background ?"
"set colorscheme ?"
":highlight  comment"  //高亮显示注释
 
编译快速修复窗口
 
":cw","cn","cp"
"makeprg"  //make 或compile程序的名称和选项
编辑二进制文件
"vim -b filename" 或者 "set binary"

 
远程编辑
$ vim scp://ehannah@mozart:122/.vimrc

 
在目录项上按D,删除该文件
转换为HTML
 
":TOhtml"
 
 

vim程序员加强功能的更多相关文章

  1. Nuget,程序员的功能包

    导读:随着信息技术的发展,资源的共享已经成为一种文化.对于程序设计来说,我们在编写软件的时候,总有那么一些公共使用的东西,或者说需啊哟使用到别人可能已经做得很好的东西.这个时候,再去重写,并不是一个明 ...

  2. php程序员的弱点

    今天在在知乎上看到一个问题,题目是<看了laravel的php框架怎么感觉很不靠谱?>,我最近也在想学习一下laravel,laravel听说是受到很大ruby on rails的影响. ...

  3. freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

    目录 一.freecplus框架简介 二.freecplus开源许可协议 三.freecplus框架内容 字符串操作 2.xml解析 3.日期时间 4.目录操作 5.文件操作 6.日志文件 7.参数文 ...

  4. 程序员的编辑器——VIM

    from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册      ...

  5. vim配置-程序员【转】

    Ubuntu11.10的vim升级后,版本为vi Improved 7.3.154功能很强大了.不过,程序员要根据自己的习惯配置好vimrc文件,是vim更加得心应手. 注:一般用户在自己的当前目录下 ...

  6. vim与sublime,程序员的屠龙刀和倚天剑

    对程序员来说,写代码是再熟悉不过的事情了,windows系统自带有记事本软件,能写写小规模的代码,可是代码量大了,它的局限性就暴露得很明显了:没有语法高亮,没有自动提示,不支持项目管理,界面难看-- ...

  7. vim与程序员

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  8. linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的

    发现一个比ack更快更好用的:  https://github.com/ggreer/the_silver_searcher   , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...

  9. vim与程序员 vi/vim 的使用

    vim与程序员   所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...

随机推荐

  1. 如何设置活动监视器中的可见作业数能显示更长范围之内的作业(如何让bpdbjobs/Active Monitor显示更多作业信息)

    一.问题:     如何设置可以使得活动监视器中的可见作业数能显示更长范围之内的作业(即NBU软件不要自动删除活动监视器中短时间内(如8天)内的作业记录)? 二.解决方法:      默认情况下在Ac ...

  2. 【xampp】windows下XAMPP集成环境中,MySQL数据库的使用

    在已经安装了XAMPP之后,会在你安装的目录下面出现”XAMPP“文件夹,这个文件夹就是整个XAMPP集成环境的目录. 我们先进入这个目录,然后会看到带有XAMPP标志的xampp-control.e ...

  3. Redis配置文件(3)常见的配置修改

    常见的配置: redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程   daemonize no   2. 当Redis以 ...

  4. MVC 实现下拉框

    MVC动态实现下拉框的方式有很多种,但是方便快捷的却是很少,现在记录一种常用的下拉框实现方式: 1.先看看视图代码是怎么写的 <div class="form-group col-xs ...

  5. Unity中自定义扩展方法

    问题背景 在使用unity开发过程中,通常会遇到一种情况,比如说给物体重新赋值坐标的问题, Transfrom tran: ,pos_y=,pos_z=; tran.position=new Vect ...

  6. 一个jquery ajax例子

    上次搞了个jquery的AutoComplete效果,感觉很久没写jquery了,趁热打铁,再找点东西练练手.这不,看了一下jquery手册,顺便写了一个小例子,源码我直接贴上来了.   1.新建一个 ...

  7. UITableViewCell在重用ID时为何加上Static关键字

    UITableViewCell在重用ID时为何加上Static关键字 先回顾一下iOS各种变量作用域和生命周期相关知识: 1.方法中临时变量存储在栈区,出了该方法,临时变量会被自动销毁.但是如果给方法 ...

  8. JavaScript常用DOM操作方法和函数

    查找节点ocument.querySelector(selectors) //接受一个CSS选择器作为参数,返回第一个匹配该选择器的元素节点.document.querySelectorAll(sel ...

  9. python3中sys.argv[]小记

    1.python3中sys.argv[]用于传递程序外部的参数,外部一般指命令行输入的参数,argv[]所传递的参数实质上是一个列表,其第一个元素为程序本身. 2. sys.argv[] #传入的参数 ...

  10. ethereum(以太坊)(实例)--"安全的远程购买"

    pragma solidity ^0.4.10; contract Safebuy{ uint public price; address public seller; address public ...