2013-07-05 36 views
6

Tôi muốn yank -Yank đường dẫn tập tin với dòng không từ vim vào hệ thống vào clipboard

  • Một đường dẫn đầy đủ đến tập tin, ví dụ c: \ foo \ bar \ file.txt: 94 với dòng của nó no

Tôi cũng muốn dán nó vào khay nhớ tạm thời của hệ thống để tôi sẽ sử dụng đăng ký '+' cho việc này.

bạn có thể gợi ý cho tôi cách có thể thực hiện việc này không?

+0

Bạn có thể đánh dấu nó trong chế độ trực quan –

+0

Bạn đang cố gắng giật 'c: \ foo \ bar \ file.txt: 94' khi bạn đang ở trên dòng 94 của' c: \ foo \ bar \ file. txt' hoặc bạn đang cố gắng nội dung của dòng? – FDinoff

+0

Tôi đang cố gắng sao chép 'c: \ foo \ bar \ file.txt: 94' vào khay nhớ tạm thời hệ thống của tôi –

Trả lời

10

Nếu bạn đang cố gắng yank c:\foo\bar\file.txt:94 khi bạn đang trên đường 94 của c:\foo\bar\file.txt bạn có thể sử dụng câu lệnh sau để thiết lập các + đăng ký để
<file_path>:<line_number>

:let @+=expand("%") . ':' . line(".") 

expand("%") - là tên tập tin hiện
line(".") - là số dòng hiện tại

Ánh xạ mẫu là

nnoremap <leader>y :let @+=expand("%") . ':' . line(".")<CR> 
+0

Hoàn hảo !! Chính xác những gì tôi muốn cảm ơn rất nhiều –

+0

Nếu một người đã chọn văn bản, làm cách nào để sửa đổi bản đồ này để thêm văn bản đã chọn vào đầu thanh ghi đó (trước đường dẫn và đường kẻ)? – mcabrams

+1

@mcabrams văn bản được chọn như trong lựa chọn hình ảnh? Một cái gì đó như 'vnoremap y" + y: let @ + = @ +. Expand ("%"). ':'. Line (".") 'có thể hoạt động. Yank lựa chọn trực quan vào thanh ghi' + ' nối thêm tập tin và số dòng vào cuối sổ đăng ký – FDinoff

Các vấn đề liên quan