查找文件
假定现在你在编辑一个 C 程序, 该程序有这样一行:
#include "inits.h"
你想要查看文件 "inits.h" 里有些什么. 把光标移到该文件名上, 并键入:
gf
Vim 就会找到并打开这个文件.
那么, 如果该文件不在当前目录里怎么办? Vim 将利用 'path' 选项来寻找这个文件.
该选项是一系列目录名, Vim 会在其中为你寻找文件.
假设你把你的头文件存放在目录 "c:/prog/include" 里. 下面这个命令把该目录加入
'path' 选项:
:set path+=c:/prog/include
这个目录名是一绝对路径. 不管你在哪儿, 它都指向同一目录. 如果你已经知道要编辑的
文件位于当前文件所在目录下某个子目录里, 你该怎么办呢? 那样的话, 你可以指定一个
相对路径. 相对路径以 "." 开始:
:set path+=./proto
这个命令告诉 Vim 到目录 "proto" 里找文件, 而 "proto" 则位于你在其中用了 "gf"
命令的文件所在的目录下面. 如此一来, 对 "inits.h" 用 "gf" 命令, 就让 Vim 以当前
文件所在目录为起点, 寻找 "proto/inits.h".
如果不加 "./", 只用 "proto", Vim 就会进入当前目录下的 "proto" 目录寻找. 然而
当前目录可能不是你在编辑的这个当前文件所在的目录.
'path' 选项还允许你用其它许多方法来指定在其中寻找文件的目录. 参见关于 'path'
选项的帮助.
'isfname' 选项用来决定哪些字符可用于文件名, 以及哪些不可以 (如上例中的双引号
" 字符).
当你要找的文件名没出现在你编辑的文件里时, 你可以键入这个文件名:
:find inits.h
然后 Vim 就利用 'path' 选项来确定该文件的位置. 这就跟 ":edit" 命令一样, 只不
过 ":edit" 命令不用 'path' 选项.
要在新窗口内打开那个已经找到的文件, 用 CTRL-W f, 而不是 "gf", 或用 ":sfind"
而不是 ":find".
有个好办法可以直接启动 Vim 来编辑 'path' 中的某个文件:
vim "+find stdio.h"
这会在你的 'path' 中查找 "stdio.h"。双引号是必需的,用来把括起来的当做一个参数
阅读(3589) | 评论(0) | 转发(0) |