Tidak dapat menyalin teks gvim tertentu, misalnya: versi atau pesan kesalahan

6

Secara umum, copy / paste saya berfungsi dengan baik di vim.

Namun, ketika saya mengetik: versi, penunjuk tetikus saya menjadi simbol seperti:

tidak, tidak diizinkan

Meskipun saya dapat memilih teks, saya tidak bisa menyalinnya ke clipboard.

Perilaku yang persis sama dengan output kesalahan.

Bagaimana cara menonaktifkan "fitur" ini?

Tom Hale
sumber

Jawaban:

4

Dalam mode keluaran pesan itu, menyalin dengan mouse memang tidak mungkin. Hanya beberapa perintah paging yang tersedia di sana. Jadi, "fitur" itu belum ada.

Ada beberapa cara untuk mendapatkan output. Yang paling umum adalah via :redir, misalnya ke register yang tidak disebutkan namanya :

:redir @"
:version
:redir END
:put

Untuk satu pesan kesalahan (terakhir), Anda juga dapat langsung mengaksesnya melalui v:errmsg:

:put =v:errmsg

Di terminal, Anda juga bisa menonaktifkan integrasi mouse Vim via :set mouse=, dan kemudian menggunakan seret mouse terminal untuk menyalin teks (terlihat).

Ingo Karkat
sumber
Anda dapat membuat satu perintah dalam vim rc Anda:command! PutMessages redir @" | messages | redir END | put
Chiel ten Brinke
Ini sepertinya tidak berfungsi di NeoVim / VimR, kecuali saya salah paham bagaimana seharusnya digunakan? Ketika memohon :PutMessages, :messagesmasih dicetak merah, tidak disalin. (Namun, `: let @ + = v: errmsg bekerja untuk saya; jadi saya tahu dukungan clipboard saya berfungsi!)
ELLIOTTCABLE
1

Jika Anda mengatur 'clipboard'opsi ke autoselectVim secara otomatis akan berusaha menjadi pemilik penyangga salinan sistem. Ini akan memungkinkan Anda menyalin teks dalam situasi yang Anda gambarkan.

Heptite
sumber