Vim 仅将不带扩展名的文件名复制到系统剪贴板
有没有办法只将文件名复制/拖动到剪贴板?根据这些来源:Vim 仅将不带扩展名的文件名复制到系统剪贴板,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> " E
显然,
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>
“完整路径
nnoremap f:let@*=展开(“%:p”)
“文件名,带扩展名。
nnoremap n:let@*=展开(“%:t”)
“延期。
nnoremap e:let@*=展开(“%:t:e”)
“父目录,已满。
nnoremap p:let@*=展开(“%:p:h”)
但是,我没有找到只复制文件名的方法。我是说文件名
没有扩展。这可能吗?我尝试了“%”
和“%:
。两者都不起作用
expand("%:t:r")
做你想做的,但是凯文提出了很好的观点
请参见:帮助文件名修改器
做你想做的,但是凯文提出了很好的观点
请参见:help filename modifiers
如果文件没有扩展名,您想在Unix上做什么?如果文件名是扩展名(例如,文件名为.txt
)?@Kevin:嗯,由于Vim区分大小写,我将保留N
,以便使用“%:t复制带扩展名的文件名“
。此选项将复制没有扩展名的文件名。(如我的Windows计算机上的\u vimrc
)如果文件没有扩展名,您希望在Unix上执行什么操作?如果文件名是扩展名(例如,文件名为.txt
)?凯文:嗯,由于Vim区分大小写,我将保留N
,以便使用“%:t”
复制扩展名为的文件名。此选项将复制没有扩展名的文件名。(就像我的窗口机器上的vimrc
)谢谢你指出这一点。对于@Kevin的观点,正如我在Windows上测试的那样,expand(“%:t”)
将复制\u vimrc
的文件名,这正是他想要的。对于Linux,我相信是这样。感谢您指出这一点。对于@Kevin的观点,正如我在Windows上测试的那样,expand(“%:t”)
将复制\u vimrc
的文件名,这正是他想要的。对于Linux,我相信是这样。