在命令行中快速打开 vim 中的远程文件

在命令行中快速打开 vim 中的远程文件

假设我有两个具有以下文件路径的文件:

~/another/project/file1.txt
~/this/is/some/very/deep/project/file2.txt

正如您所看到的,file1.txtfile2.txt在文件系统中彼此相距“很远”。

现在假设我正在编辑,并且我想在一个窗口中file1.txt打开。我选择打开的最快方法是file2.txtvsplitfile2.txt

:vsplit ~/this/is/some/very/deep/project/file2.txt

即使有模糊完成,这显然效率不高。

有没有办法快速“加入书签”或“跳转到目录”以file2.txt快速到达?

我最初的想法是从 shell 执行命令(在命令模式下,使用!)以某种方式促进跳转。使用类似的东西可能有帮助,但我不知道如何。

答案1

您可以尝试使用全局标记,如此问题的答案中所述:

https://stackoverflow.com/questions/1581505/vim-create-marks-across-files

如果您使用大写字母(如)进行标记mA,则可以通过使用 转至该标记来返回到该文件'A

.viminfo如果您正确保存内容,这将适用于跨会话。

答案2

如果您经常使用相同的文件,则可以使用符号链接。

创建一个文件夹来保存您的链接。

mkdir ~/links/

链接您的文件。

ln ~/another/project/file1.txt ~/links/file1.txt
ln ~/this/is/some/very/deep/project/file2.txt ~/links/file2.txt

您还可以以不同的方式命名链接。如果您的文件是 somereallylongname.txt 您可以将其链接到 shname.txt

ln ~/this/is/some/very/deep/project/somereallylongname.txt ~/links/shname.txt

答案3

朋友向我提供的另一个答案是使用ctrlp插入。 ctrlp 插件可以轻松地同时在多个目录中搜索文件。

编辑:ctrlp 的默认设置实际上会从项目的根目录开始搜索;从技术上讲,必须以不同的方式设置根节点才能使其正常工作。

相关内容