2)viminfo信息中保存了命令行历史(history)、搜索字符串历史(search)、输入行历史、非空的寄存器内容(register)、文件的位置标记(mark)、最近搜索/替换的模式、缓冲区列表、全局变量等信息。
打开这些文件之后,想要下次启动vim的时候保持现在这个状态,不用一个一个重新载入了,一个比较笨
:cd src "切换到/home/easwy/src/vim70/src目录
:set sessionoptions-=curdir "在session option中去掉curdir
:set sessionoptions+=sesdir "在session option中加入sesdir
:mksession vim70.vim "创建一个会话文件
:wviminfo vim70.viminfo "创建一个viminfo文件
:qa "退出vim
下次启动的时候,任意vi f1,然后
:source ~/src/vim70/src/vim70.vim '载入会话文件
:rviminfo vim70.viminfo '读入viminfo文件
CTRL-T "跳到标签栈中较早的标签,相当于“后退”的功能,退回到hello.h文件处
:tags "显示标签栈
netrw.vim是vim的标准插件,它已经伴随vim而发行,不需要安装。
我们现在试一下vim文件功能,当你使用vim尝试打开目录时,vim会自动调用netrw.vim插件打开该目录(从操作系统的视角来看,目录其实是一种特殊的文件)。例如,我们在vim中执行命令”:e ~/src
这个窗口类似于文件管理器,你可以创建、删除、改名文件或目录;在目录上按回车时,会进入该目录;在文件上按回车时,会使用vim打开该文件;可以更改排序方式、排序风格;隐藏目录或文件(使之不在上述窗口中显示)等等。
<F1> 显示帮助 <cr> 如果光标下为目录,则进入该目录;如果光标下是文件,则用vim打开该文件 - 返回上级目录 c 切换vim的当前工作目录为正在浏览的目录 d 创建目录 D 删除文件或目录 i 切换显示方式 R 改名文件或目录 s 选择排序方式 x 定制浏览方式,使用你指定的程序打开该文件
2、输入“:Sexplore!”会令垂直打开一个窗口显示当前文件所在目录(没有感叹号则水平)类似:
:vnew(在新窗口创建文件),:vsplit xxx(要打开的文件名),:split xxx(要打开的文件名)这里文件都可以是目录。
3、输入“:ls”显示当前缓冲区中得文件,按N ctrl^或者“:buffer N”可以切换成第N个缓冲
##########20090312############
1,quickfixQuickfix模式的主要思想是保存一个位置列表,然后提供一系列命令,实现在这个位置列表中跳转。
对大多数使用Makefile的项目来说,vim的缺省设置”make“已经可以满足要求了。如果你的项目需要用一个特殊的程序进行编译,就需要修改’makeprg‘选项的值。
例如对于hello.c,设置执行make时的命令,注意需要空格转义,
":set makeprg=gcc\ -Wall\ -ohello\ hello.c ",设置之后执行":make",就可以编译了。vim会自
动调用’makeprg‘选项定义的命令进行编译,并把编译输出重定向到一个临时文件中,当编译出现错误时,
vim会从上述临时文件中读出错误信息,根据这些信息形成quickfix列表,并跳转到第一个错误出现的地方。
可以输入”:cc“命令,vim会更次显示此信息,或者干脆使用”:cw“命令,打开一个quickfix窗口,
把所有的出错信息显示出来。
在quickfix模式里经常用到的命令有:
:cc 显示详细错误信息 ( :help :cc )
:cp 跳到上一个错误 ( :help :cp )
:cn 跳到下一个错误 ( :help :cn )或者在Quickfix List对应行上输入回车
:cl 列出所有错误 ( :help :cl )
:cw 如果有错误列表,则打开quickfix窗口 ( :help :cw )
:col 到前一个旧的错误列表 ( :help :col )
:cnew 到后一个较新的错误列表 ( :help :cnew )
更多的命令,以及这些命令更详细的解释,请参见手册。
如果你希望跳转到出错的文件时,使用一个分隔的窗口打开,请参阅’switchbuf‘选项的值
2、关于自动补全:
除智能补全外,最常用的补全方式应该是CTRL-N和CTRL-P补全了。它们会在当前缓冲区、其它缓冲区,以及
当前文件所包含的头文件中查找以光标前关键字开始的单词。智能补全不能对局部变量进行补全,而CTRL-N和
CTRL-P补全则可以很好的胜任。 例子,输出字符”pa”,然后按CTRL-P,vim会在下拉菜单中列出所有的匹
配功能供选择,此时再按一下CTRL-P,就选中了第一个项目,也就是我想输入的”parmp”。我们第一次输入
CTRL-P的是进行补全,第二次输入的CTRL-P是在下拉菜单中向上选择,二者的含义是不同的。 我们知道,
CTRL-P一般的含义是向上,因此CTRL-P补全是向上查找以进行补全,而CTRL-N是向下查找以进行补全,在不
同场合使用不同的快捷键可以加速补全的速度。使用CTRL-N和CTRL-P补全时,由’complete‘选项控制vim
从哪些地方查找补全的内容。例如,对于比较大的软件项目,文件包含关系复杂,如果CTRL-N和CTRL-P补全
时查找所包含的头文件,耗时会比较久。此时,可以在’complete‘选项中去掉’i‘标记,这样CTRL-N和
CTRL-P补全就不在头文件中查找了,速度会快很多;当然,弊端就是你无法对头文件中出现的某些内容进行补
全了。vim中其它的补全方式包括:
整行补全 CTRL-X CTRL-L
根据当前文件里关键字补全 CTRL-X CTRL-N
根据字典补全 CTRL-X CTRL-K
根据同义词字典补全 CTRL-X CTRL-T
根据头文件内关键字补全 CTRL-X CTRL-I
根据标签补全 CTRL-X CTRL-]
补全文件名 CTRL-X CTRL-F
补全宏定义 CTRL-X CTRL-D
补全vim命令 CTRL-X CTRL-V
用户自定义补全方式 CTRL-X CTRL-U
拼写建议 CTRL-X CTRL-S
例如,当我们按下”CTRL-X CTRL-F“时,vim就会弹出下拉菜单,显示出当前目录下的可选目录和文件。
############20090314###############
移动:
1,上下左右移动窗口位置的命令,是CTRL-W H/J/K/L (:help CTRL-W_H, …)。注意,这里的H, J, K, L是大写的
2,在vim中翻页,同样可以使用PageUp和PageDown,我们通常使用CTRL-B和CTRL-F来进行翻页,CTRL-B和
CTRL-F前也可以加上数字,来表示向上或向下翻多少页
3,跳转:命令“gg”移动到文件的第一行,而命令“G”则移动到文件的最后一行。 跳转到文件的第1234行,只需输入
“1234G”或者“:1234”
还可以按百分比来跳转,例如,想跳到文件的正中间,输入“50%”;如果想跳到75%处,输入“75%”。
迷失自己的位置,这时使用“CTRL-G”命令,查看一下自己位置以及文件等。
4,行内快速移动,可以使用f, t, F, T命令.例如,"fx",会把移动到光标右边的第一个'x'字符上。"F"命
令则反方向查找,也就是移动到光标左边的指定字符上,"tx"会移动到光标右边第一个'x'字符的前面。"T"命
令是"t"命令的反向版本,它移动到光标右边的指定字符之后,可以在命令前面使用数字,"3fx"表示移动到光
标右边的第3个'x'字符上.";"命令重复前一次输入的f, t, F, T命令,而","命令会反方向重复前一次输入
的f, t, F, T命令。这两个命令前也可以使用数字来表示倍数。
在vim中,移动到行首的命令非常简单,就是"0",这个是数字0,而不是大写字母O。移动到行尾的命令是"$"
另外还有一个命令"^",用它可以移动到行首的第一个非空白字符。
使用H/M/L这三个键,可以让光标跳到当前窗口的顶部、中间、和底部,停留在第一个非空字符上。加一个数
字,是指距窗口顶部、底部的行数
相对于光标的翻页:光标所在行移动窗口的顶端、中间或底部:"zt"、"zz"和"zb"。
5,查找:直接在Normal模式下输入"/",然后输入你想查询的字符串,回车,就跳转到第一个匹配的地方了。
"?"进行反方向查找。命令"n"重复上一次的查找命令,而命令"N"也重复上一次的查找命令,只不过它按
相反方向查找。使用"q/"和"q?"命令,在vim窗口最下面打开一个新的窗口,这个窗口会列出你的查找历
史记录
####################20090316#################
关于替换
1.输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配
串。
2. 输入 :s/thee/the/g 则是替换全行的匹配串
3.输入 :#,#s/old/new/g 替换两行之间出现的每个匹配串(#,#代表的是两行的行号)。
4.输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。
5.进行全文替换时询问用户确认每个替换需添加 c 选项,请输入 :%s/old/new/gc其余的不重复说了。
6.查找时,设置 ic 选项(ic就是英文忽略大小写Ignore Case的首字母缩写词),即输入:set ic