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. 谁把我的表给drop了?

    今天生产上有人把几张表给DROP了,一通折腾.恢复备份导数回来数据,重建索引. 但是,我就想知道是谁给干掉了. 到你被删除表数据库中找日志吧.其它的也想不到更好办法了 USE '被删表数据库' --查 ...

  2. select、poll和epoll比较

    select select能监控的描述符个数由内核中的FD_SETSIZE限制,仅为1024,这也是select最大的缺点,因为现在的服务器并发量远远不止1024.即使能重新编译内核改变FD_SETS ...

  3. web.xml中Listener的作用

    Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应 ...

  4. html拼接时onclick事件传递json对象

    Bootstrap Table 中拼装onclick传递json对象会造成[object,object]错误,反正各种传值不成功, 应该是因为json对象中的‘’‘’引号冲突吧,直接把json对象转成 ...

  5. HDU 2897 邂逅明下 ( bash 博弈变形

    HDU 2897 邂逅明下 ( bash 博弈变形 题目大意 有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完.两人轮流取,直 ...

  6. iOS中break、continue、return三者的区别

    iOS中break.continue.return三者的区别 1. break         直接跳出当前层次的循环. 如果嵌套循环如for中嵌套while,break只能跳出内层的while循环, ...

  7. waring L16: uncalled segement ----keil

    1.keil中出现waring:uncalled segement 2.waring L16:这个应该是一个waring等级 3.  转载自 wpb3dm 在Keil C中,如果没有显式调用到定义过的 ...

  8. sharepoint OOS巨大坑

    首先,我们安装的操作系统是windows server 2016 datacenter最新版,然后安装了OOS2016年的那个版本,打好语言包,安装必备软件,所有的步骤都没问题,但是你配置OOS场的时 ...

  9. 如何理解低耦合AND高内聚?[转]

    1.高内聚 首先我们来看看内聚的含义:软件含义上的内聚其实是从化学中的分子的内聚演变过来的,化学中的分子间的作用力,作用力强则表现为内聚程度高.在软件中内聚程度的高低,标识着软件设计的好坏. 我们在进 ...

  10. Web项目开发中常见安全问题及防范

    计算机程序主要就是输入数据 经过处理之后 输出结果,安全问题由此产生,凡是有输入的地方都可能带来安全风险.根据输入的数据类型,Web应用主要有数值型.字符型.文件型. 要消除风险就要对输入的数据进行检 ...