vim编辑器初级(七)

:syntax on  打开语法高亮

:syntax off  关闭语法高亮

vim有两套语法颜色方案,分别用于背景亮和背景暗时,当vim启动时它会尝试辨别背景并选择合适的颜色方案,但vim辨别背景时可能出错

  :set background?  查看background选项的值为多少

  :set background=light  将background选项的值设为light,也可设为dark,这样就可以让vim选用正确的颜色方案

vim会通过文件扩展名来识别文件类型,如果你的文件没有一个标准的扩展名那么vim就不能正确地将语法高亮显示

  :set filetype=c  这样就可以告诉vim你正在编辑的文件是C语言的源文件,也可以设置为其他类型

%  用于匹配括号,将光标置于左括号或右括号,按下%后光标就跳转到相对应的右括号或左括号,也可以匹配C语言的注释符号#ifdef等预处理指令

<<  将光标所在行向左缩进,在前面加一个数字就会缩进那么多行

>>  将光标所在行向右缩进,在前面加一个数字就会缩进那么多行

<  后接一个动作,会将从当前行到动作定位处的所有行都向左缩进

>  后接一个动作,会将从当前行到动作定位出的所有行都向右缩进

:set shiftwidth=4  设置每一次缩进的宽度,通常设置为4最具有可读性

:set tabstop=4  设置每个tab的宽度为4,这样就与shiftwidth保持一致

vim有多种缩进模式,主要有的三种:

  即cindent  使得vim会根据标准的C风格自动将程序进行缩进,在以#开头的行中,所有的缩进都被移除

  smartindent  使得vim会将每行都与它的前一行保持相同的缩进,如果它的前一行包含{或}那么会自动增加或减少一层缩进

  autoindent  使得vim会将每行都与它的前一行保持相同的缩进

在insert mode下,CRTL-D会使vim向左缩进

=  在viusal mode下会将选中的文本利用内部的格式化程序进行自动缩进,在normal mode下后接一个动作,将当前光标所在至动作定位处的所有文本自动缩进

在命令行用vimdiff命令打开两个或更多文件,就可以显示出这些文件的不同之处

  此时可以用:dp命令将当前文件的更改移动到另一个文件中,也可以用:do命令将另一个文件的更改移动到当前文件中

 zf  在visual mode下选中文本后执行zf命令会将所选文本折叠起来,在normal mode下后接一个动作,将当前光标所在行至动作定位行的所有文本折叠

zo  将光标移动到折叠行上,执行zo会打开折叠

:set foldmethod=indent  会使vim自动将所有文本按照缩进进行折叠

zc  关闭一层折叠

zX  将缩进情况复位

zv  有时折叠会使光标所在的行被折叠起来,此时执行zv命令会令vim展开足够多行知道光标所在的那行显示出来

:set foldlevel=3  设置折叠层次,例如设置为3后,所有缩进了三个以上层次的文本都会被折叠,默认的foldlevel值为0

zm  将foldlevel减1,会使缩进的文本增加

zr  将foldlevel加1,会使缩进的文本减少

zR  直接取消折叠

zM  尽最大可能折叠

[CTRL-I  跳转到光标所在的词,从文件的开头进行搜索,包括#include所引入的文件

]CTRL-I  跳转到光标所在的词,从当前光标的位置开始搜索

gd  寻找光标所在变量的局部定义

gD  寻找光标所在变量的全局定义

[CTRL-D  寻找光标所在宏的第一次定义,#include所引入的文件也被搜索

]CTRL-D  寻找光标所在宏的下一次定义

[d  显示光标所在宏的第一次定义,#include所引入的文件也被搜索

]d  显示光标所在宏的下一次定义

[D  列出光标所在宏的所有定义

]D  列出光标所在宏的所有定义,从当前位置往后

>i{  先将光标放在{上,然后执行命令>i{,会将{ }内的文本全部向右缩进

i}  先将光标放在{上,然后按v进入visual mode,再执行i}会选中{ }中的文本,之后执行>,也可以将{ }内的文本全部向右缩进

K键  将光标所在的词作为主题,执行操作系统的man命令

posted @ 2017-03-29 16:27  梦想成真13  阅读(162)  评论(0编辑  收藏  举报