相关疑难解决方法(0)

Yim文件名/ Vim中当前缓冲区的路径

假设当前缓冲区是一个打开以进行编辑的文件,因此:e不显示E32: No file name.

我想猛拉一个或全部:

  • 文件名完全如状态行所示,例如 ~\myfile.txt
  • 文件的完整路径,例如 c:\foo\bar\myfile.txt
  • 只是文件名,例如 myfile.txt

vim clipboard yank

174
推荐指数
5
解决办法
4万
查看次数

如何扩展当前文件的完整路径以传递给Vim中的命令?

当我进入命令模式并键入

:!mycommand %
Run Code Online (Sandbox Code Playgroud)

我在当前文件上执行了我的命令(%扩展为当前文件名).是否有类似的构造扩展完整文件名(使用完整路径)?

我正在使用Windows.

vim

121
推荐指数
4
解决办法
5万
查看次数

仅将不带扩展名的文件名复制到系统剪贴板

有没有办法只将文件名复制/拉扯到剪贴板?根据这些来源:
Vim 中的 Yank 文件名/当前缓冲区的路径
如何扩展当前文件的完整路径以传递给 Vim 中的命令?
在 Vim 中获取当前文件的名称,
很明显这expand()是要使用的函数,可以定义以下内容:

" Full path
nnoremap <leader><leader>f :let @* = expand("%:p")<CR>
" File name, with extension.
nnoremap <leader><leader>n :let @* = expand("%:t")<CR>
" Extension.
nnoremap <leader><leader>e :let @* = expand("%:t:e")<CR>
" Parent directory, full.
nnoremap <leader><leader>p :let @* = expand("%:p:h")<CR>
Run Code Online (Sandbox Code Playgroud)

但是,我没有找到仅复制文件名的方法。我的意思是不带扩展名的文件名。这有可能吗?我尝试"%"过并且"%:。两者都不起作用。

vim

2
推荐指数
1
解决办法
709
查看次数

标签 统计

vim ×3

clipboard ×1

yank ×1