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. hdu1579 Function Run Fun(深搜+记忆化)

    版权声明:本文为博主原创文章.未经博主同意不得转载.vasttian https://blog.csdn.net/u012860063/article/details/37076755 转载请注明出处 ...

  2. BZOJ3245:最快路线(最短路)

    Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...

  3. 使用jsonp获取天气情况

    在这里使用的是百度天气: 整体代码如下: js: <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js ...

  4. 美化浏览器JSON格式

    工具下载地址: https://github.com/weibanggang/JSON-handle 原始 优化后 直接将文件拖到浏览器即可

  5. OpenCV 中CV_IMAGE_ELEM 的使用

    CV_IMAGE_ELEM 是一个宏函数,基本形式: CV_IMAGE_ELEM(image,elemtype,row,col) 其中,image为指针数组,elemtype为数据的存取类型,row为 ...

  6. 在js中获取到的页面元素为undefined

    在学习js的过程中发现了一个问题就是:在js代码中获取页面元素进行操作的时候发现怎么都没有效果,控制台也不报错,弹出获取的元素结果发现是undefined类型. 后来查找了资料发现:因为我的js是写在 ...

  7. nopCommerce电子商务平台 安装教程(图文)

    nopCommerce是一个通用的电子商务平台,适合每个商家的需要:它强大的企业和小型企业网站遍布世界各地的公司销售实体和数字商品.nopCommerce是一个透明且结构良好的解决方案,它结合了开源和 ...

  8. .Net Core如何在程序的任意位置使用和注入服务

    最近有人问我:我该如何在Startup类之外的地方注入我的服务呢,都写在startup里看着好乱:我该如何在程序的其他地方获取我注入的服务呢: 故我写了这篇博客,文中有不对的地方欢迎指正. 一.如何在 ...

  9. nginx ssl pathinfo 伪静态 301 配置文件

    server { listen ; root /www/web/test_com/public_html; server_name test.com test.com; if ($host != '* ...

  10. PHP实现全自动化邮件发送 phpmailer

    PHPmailer           composer地址 function SendMail($msg,$theme,$content) { $mail = new \PHPMailer\PHPM ...