Vim:移动文件?

发布于 2024-11-08 20:41:22 字数 275 浏览 0 评论 0原文

目前,如果我正在编辑一个文件并且决定要重命名它,我会使用:

:!mv % new.py
:new new.py
:bd

要重命名该文件,打开新文件,然后删除旧缓冲区。

有没有一种更简单的方法来重命名文件而不留下旧缓冲区?

(我意识到我也可以使用 :sav,但随后我需要 :bp 几次才能找到以前的缓冲区,:bd > 它,然后 :bn 返回到新缓冲区)

Currently if I'm editing a file and I decide that I want to rename it, I use:

:!mv % new.py
:new new.py
:bd

To rename the file, open the new file, then delete the old buffer.

Is there a simpler way to rename a file without leaving the old buffers hanging around?

(I realize that I could also use :sav, but then I would need to :bp a few times to find the previous buffer, :bd it, then :bn back to the new buffer)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

街角迷惘 2024-11-15 20:41:22

我想您可能正在寻找这个插件。

这是一个小插件,可以执行 :saveas 并删除旧文件。

I think you may be looking for this plugin.

It is a little plugin that does :saveas and removes the old file.

白衬杉格子梦 2024-11-15 20:41:22

我认为添加插件比您正在寻找的要复杂得多。您可以使用函数将此功能绑定到新命令。

function! s:movefunction(arg)
  let oldnum = bufnr("%")
  let newname = a:arg
  execute "!mv %" . " " . newname
  exe "new " . newname
  exe "bd" . oldnum
endfunction

command! -nargs=* Newmv call s:movefunction('<args>')

将其添加到您的 .vimrc 后,您可以通过执行以下操作来调用它

:Newmv new_file_name.py

I think adding a plugin is much more complicated than what you're looking for. You could use a function to bind this functionality to a new command.

function! s:movefunction(arg)
  let oldnum = bufnr("%")
  let newname = a:arg
  execute "!mv %" . " " . newname
  exe "new " . newname
  exe "bd" . oldnum
endfunction

command! -nargs=* Newmv call s:movefunction('<args>')

After adding this to your .vimrc, you can then call this by doing

:Newmv new_file_name.py
没有你我更好 2024-11-15 20:41:22

您还可以在 vim 资源管理器中重命名文件 移动到要重命名的文件并按:

R

所以那就是:

  1. 浏览 :E
  2. 向下移动到文件 j 或搜索文件模式/
  3. 重命名 R
  4. 打开新文件名 (回车)。

键入的内容是否较短取决于目录中的文件数量。

vi.stackexchange 上的这个答案 建议使用 tpope/vim-eunuch 插件。

:Move:同时重命名缓冲区和磁盘上的文件。

You can also rename a file within the vim explorer move to the file you want to rename and press:

R

So that's:

  1. Explore :E
  2. Move down to file j or search file pattern /
  3. Rename R
  4. Open the new file name <CR> (enter).

Whether this is shorter to type or not will depend on the number of files in your directory.

This answer on vi.stackexchange suggests using :Move from the tpope/vim-eunuch plugin.

:Move: Rename a buffer and the file on disk simultaneously.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文