如何将当前文件名复制到系统剪切板中?(vim)

Vim、Emacs配置和使用
回复
vcip
帖子: 11
注册时间: 2009-06-11 17:15

如何将当前文件名复制到系统剪切板中?(vim)

#1

帖子 vcip » 2012-08-14 9:28

不少编辑器都有复制文件名、文件路径到剪切板的功能,vim下如何实现呢?

expand("%:t") 获取当前文件名
expand("%:p") 获取当前文件名(包含路径)
但如何做成键盘快捷键复制到系统剪切板中?
头像
lilydjwg
论坛版主
帖子: 4252
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何将当前文件名复制到系统剪切板中?(vim)

#2

帖子 lilydjwg » 2012-08-14 9:51

这样复制到 X 主选择区

代码: 全选

let @*=expand('%')
把 @* 换成 @+ 就是剪贴板。
vcip
帖子: 11
注册时间: 2009-06-11 17:15

Re: 如何将当前文件名复制到系统剪切板中?(vim)

#3

帖子 vcip » 2012-08-14 16:10

原来是这么用的,多谢依云大牛。
头像
LeoDemon
帖子: 20
注册时间: 2013-01-29 16:48
系统: win7,ubuntu

Re: 如何将当前文件名复制到系统剪切板中?(vim)

#4

帖子 LeoDemon » 2013-01-29 17:00

具体怎么用呢,能否指点一二,感谢!
头像
LeoDemon
帖子: 20
注册时间: 2013-01-29 16:48
系统: win7,ubuntu

Re: 如何将当前文件名复制到系统剪切板中?(vim)

#5

帖子 LeoDemon » 2013-01-29 17:41

nmap <C-R>y :let @+<c-r>=expand("%")<CR>
是这么干么
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: 如何将当前文件名复制到系统剪切板中?(vim)

#6

帖子 sarrow » 2013-01-31 8:06

俺以前写的,和楼主的差不多;

function! g:CopyFileEntryToClipBoard() "for syntax/index.vim {{{
let @+ = expand("%:p").'|'.line(".")
endfunction
silent! command -nargs=0 CopyEntry call g:CopyFileEntryToClipBoard()
不过,多了一个当前行数的功能。

然后利用我另外一个插件,能够跳转、并定位到,该文件的具体行。

写资料、看书必备。
回复