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. import(导入)过期的磁带 -----先留个引子,后期更改补充

    在某些情况下,客户需要恢复已经过期的磁带上的数据, 如果磁带没有被重新使用,数据没有被覆盖掉,可以使用 netbackup 的 import 方法将过期的磁带上的数据 import 到 netback ...

  2. 工程命名为***&***出现的问题: LaunchScreen.xib: Line 20: EntityRef: expecting ';'

    今天新建一个项目命名为28 & 29. extern&static,  然后cmd + R运行,居然碰到了编译错误. 当时就奇怪了,怎么会这样呢?报错内容如下: 开始还以为新安装的Xc ...

  3. java从mysql读写数据乱码问题

    mysql默认使用latin(ISO-8859-1),而java默认使用unicode编码.因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式. 1.首先查看数据库 ...

  4. Lua中的数据结构

    1 数组:(lua习惯数组从1开始) a={} , do a[i]= end 2 阵和多维数组 : mt={}//新建一个表,表元素为表 ,N do mt[i]={}//新建一个表,里面的表元素为值 ...

  5. Struts2+hibernate 结合,实现登陆校验

    完整的项目在github中,数据库使用postgresql,建表语句见项目文档. 下面我分块介绍一下struts2.hibernate.与页面部分的代码. Struts2 UserAction.jav ...

  6. iOS开发学习资源

    最近想写点关于iOS开发的总结和心得.虽然网上资源一大堆,质量参差不齐,还是推荐一点干货吧! https://www.objc.io/issues/  这个网站的文章质量很高,很多干货,可惜今年已经停 ...

  7. Swift_错误处理

    Swift_错误处理 点击查看源码 //错误处理 func test() { //错误枚举 需ErrorType协议 enum ErrorEnum: Error { case `default` // ...

  8. Linux基础命令之文件和目录操作(一)

    pwd print working directory的缩写,作用是显示当前工作目录的绝对路径,一般进行频繁切换路径时使用. -L 显示逻辑路径(或略软链接文件),不常用. -P 显示物理路径,不常用 ...

  9. python字符编码转换说明及深浅copy介绍

    编码说明: 常用编码介绍: ascii 数字,字母 特殊字符. 字节:8位表示一个字节. 字符:是你看到的内容的最小组成单位. abc : a 一个字符. 中国:中 一个字符. a : 0000 10 ...

  10. Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)

    最近用vue写了一些项目,项目写完之后需要打包之后才能放到网上展示,所以在这里记录一下项目打包的过程以及遇到的一些问题. --------------------------------------- ...