假设当前缓冲区是一个打开编辑的文件,那么:e不会显示E32: No文件名。
我想要扯掉其中一个或全部:
文件名与状态行中显示的完全一致,例如~\myfile.txt 文件的完整路径,例如c:\foo\bar\myfile.txt 只是文件名,例如myfile.txt
假设当前缓冲区是一个打开编辑的文件,那么:e不会显示E32: No文件名。
我想要扯掉其中一个或全部:
文件名与状态行中显示的完全一致,例如~\myfile.txt 文件的完整路径,例如c:\foo\bar\myfile.txt 只是文件名,例如myfile.txt
当前回答
如果您希望简单地拉出当前打开的文件名的路径,那么只需按:
step1: ctrl + g[你会在窗口底部看到整个根路径] Step2:用鼠标选择路径 用鼠标中间的滚轮粘贴
其他回答
我把它放在我的vimc中:
nnoremap yl :let @" = expand("%:p")<cr>
我使用xclip来访问X的剪贴板,所以我使用:
nmap <localleader>d :call system("xclip -i -selection clipboard", expand("%:p"))<CR>
如果你在终端vim上,并且想要复制到系统剪贴板:为了便于记忆,不需要预定义的映射/函数:
:!echo %
打印当前缓冲区的相对路径到终端,在那里你可以复制它,然后输入回vim。(如前所述,您可以在命令后加上:p或:t以获得绝对或basename,如果您能记住....)
几乎就是你想要的,它可能会这样做:在INSERT模式下,Ctrl+R %将当前文件名拉到你所在的位置(命令提示符,编辑缓冲区,…)更多信息请看Vim提示。
如果您希望简单地拉出当前打开的文件名的路径,那么只需按:
step1: ctrl + g[你会在窗口底部看到整个根路径] Step2:用鼠标选择路径 用鼠标中间的滚轮粘贴