有没有办法只将文件名复制/拉扯到剪贴板?根据这些来源:
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)
但是,我没有找到仅复制文件名的方法。我的意思是不带扩展名的文件名。这有可能吗?我尝试"%"过并且"%:。两者都不起作用。
expand("%:t:r")
Run Code Online (Sandbox Code Playgroud)
做你想做的事,但凯文提出了很好的观点。
看:help filename-modifiers。