如果我正在处理位于 eg 上的文件~\myprojects\testproject\hello.txt
,然后想要打开同一目录中的新文件todo.txt
(位于~\myprojects\testproject\todo.txt
),如何在 Windows 上使用 gvim 有效地做到这一点?
今天我必须输入这个命令,也许使用制表符补全来输入路径:
:e ~\myprojects\testproject\todo.txt
有没有更短的命令,例如:
:e .\todo.txt
在 Windows 上的 gvim 中?
如果我使用.\todo.txt
,该文件将位于C:\Windows\system32
,这甚至不是我的主目录。是否有任何设置可以将我的主目录指定为默认目录?或者任何其他目录?
答案1
如果您当前的目录是文件所在的位置,则以下操作应该有效:
:e todo.txt
对于第二个问题,我不知道一个好的答案。当然你可以这样做
:cd ~
每次启动时,或者您可以编辑 vimrc 来执行此操作。这是一种 hack,不是一个好的解决方案。
如果您希望每次都 cd 到该文件,也可以使用 'autochdir'。我在这里找到了它:http://vim.wikia.com/wiki/Set_working_directory_to_the_current_file
在你的 vimrc 中你需要输入以下行:
set autochdir
编辑2:添加第二个问题的答案
答案2
我的 vimrc 中有以下内容:
map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
这将打开命令行,输入“e”命令,并使用当前活动缓冲区中的文件路径预填充文件参数。默认情况下,该键映射到反斜杠键。
答案3
为了完整起见,如果您目前正在编辑该目录中的文件,set autochdir
那么 vim.rc 就足够了。
但是如果你在 vim 文件资源管理器中(netrw
)
:e .
%filename
您必须先使用 来创建新文件%
。
了解更多信息::help netrw-intro-browse
。