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. Kali-linux准备内核头文件

    内核头文件是Linux内核的源代码.有时候,用户需要编译内核头文件代码,为以后使用内核头文件做准备,本节将介绍编译内核头文件的详细步骤. 准备内核头文件的具体操作步骤如下所示. (1)更新软件包列表. ...

  2. vue中图片返回404时,显示默认的图片

    图片返回404时候的处理 <img :src="userMsg.portrait" ref="img" alt=""> _thi ...

  3. MATLAB 中gcf、gca 以及gco 的区别

    MATLAB 中gcf.gca 以及gco 的区别gcf 返回当前Figure 对象的句柄值gca 返回当前axes 对象的句柄值gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意 ...

  4. careercup-扩展性和存储限制10.6

    题目 你有10亿个url,每个url对应一个非常大的网页.你怎么检测重复的网页? 解答 网页大,数量多,要把它们载入内存是不现实的. 因此我们需要一个更简短的方式来表示这些网页.而hash表正是干这事 ...

  5. <a>标签跳转到Servelet页面并实现参数的传递

    <a>标签跳转到页面不能通过request.setAttribute()和getAttribute()方法获取参数. <a>标签只能通过request.getParameter ...

  6. Nginx负载均衡+代理+ssl+压力测试

    一.Tomcat安装 1.下载jdk,Tomcat,解压到/usr/local/ 2.配置jdk环境: # vim /etc/profile export JAVA_HOME=/usr/local/j ...

  7. 给出一个整数,将这个整数中每位上的数字进行反转(JavaScript编程)

    一.问题描述:给出一个整数,将这个整数中每位上的数字进行反转.示例:输入:123,输出321:输入-123,输出-321:输入120,输出-21 二.问题分析与解决: 需要将给出的整数反转,注意示例中 ...

  8. 『ACM C++』 PTA 天梯赛练习集L1 | 044-45

    记录今日刷题 ------------------------------------------------L1-044--------------------------------------- ...

  9. python打印99乘法表

    代码如下: print(XXX,end="\t") #表示打印不换行 附带python部分转义字符:

  10. ubuntu8.04下mysql更改用户和密码

    1.最近由于系统原因重装了mysql,但是发现安装过程中没有提示设置密码. 2.修改用户名和密码步骤 A.service mysql stop    #停止mysql服务 B.sudo vim /et ...