在 Vim 中,:edit
命令允许通过文件的绝对或相对路径来打开文件,:pwd
允许打印工作目录
:edit %<Tab>
,其中%
符号代表活动缓冲区的完整文件路径,按 <tab>
会将其展开
:edit %:h<Tab>
,:h
修饰符会去除文件名,但保留路径中的其他部分,%:h<Tab>
会展开为当前文件所在目录的路径
:find 允许通过文件名打开一个文件,而无需输入完整路径。要想利用此功能,首先要配置 path
选项,比如 :set path+=app/**
接下来就可以使用 :find
查找文件了,也可以用 <tab>
补全
netrw 是 Vim 的标配插件,无需额外安装任何东西。
如果使用目录来启动 Vim 的话,Vim 就会打开一个文件管理器窗口:vim .
。然后就可用 k
和 j
来上下移动光标,按下<CR>
键就会打开光标下的条目。要想返回上级目录,可以使用 -
键,或是把光标移到 ..
条目然后按下 <CR>
同样可以使用 :edit {path}
来打开目录
netrw 插件也提供了 :Explore
来打开目录,:Sexplore
和 :Vexplore
可以切分窗口来打开文件管理器
:edit {file}
如果指定了一个不存在的文件路径,vim 会创建一个空白缓冲区。执行 :write
会将尝试将文件写入改路径。
如果指定了不存在的目录,:write
会报错,这时候可以调用外部的 mkdir
来补救:
:! mkdir -p %:h
:write
以普通用户启动 Vim 打开 root 用户创建的文件时,:write
会报错,补救措施是拉来 sudo
:w !sudo tee % > /dev/null