在 vim 中重命名文件而不更改其路径

在 vim 中重命名文件而不更改其路径

我在用着这个插件重命名文件,但我想知道是否可以只指定名称更改。例如,如果我重命名不在目录中的文件,:pwd并且我没有指定其路径,它将被移动到当前目录。

我正在使用这个映射:nnoremap <F6> :Rename

所以也许我可以在:Rename 命令后面放置一些变量来放置当前文件的相对路径和名称?

谢谢!

答案1

Vim 将当前文件名保存在寄存器中。您可以通过键入后跟寄存器名称来%将寄存器的值插入命令行。因此,您应该能够键入(不带空格)并在命令行上看到类似以下内容:Ctrl-R<F6> Ctrl-R %

:Rename /full/path/to/the/current/file

然后您可以编辑完整路径的最后一个部分来更改名称。

%请注意,仅当当前工作目录与文件的父目录不同时,Vim 才会扩展为完整路径名。否则,Vim%只会扩展为文件名。

也可以看看

:help quote%
:help c_CTRL-R

相关内容