簡體   English   中英

如何使用vim命令行從vim編輯器復制所有文本?

[英]How to copy all the text from vim editor using vim command line?

我想從 vim 編輯器中選擇所有文本,我嘗試了命令:%y+但收到錯誤E850: Invalid register name 我從這個鏈接得到這個命令。 請幫助我如何從在 vim 中打開的文件中復制所有文本。 他們正在使用 yank,這是什么意思..

我有一個類似的問題。 不知道為什么你得到了這么多反對票。 問題是你還沒有安裝vim-gnome ,它需要大約 24 MB 並為內置 vim 添加一個功能。

sudo apt-get install vim-gnome

那么您的命令將起作用。 :%y+此命令將復制系統剪貼板中的所有文本。

TLDR:如果要將 Vim 中的文本復制到系統剪貼板,請鍵入g g V G " * y 。下面的解釋...

Vim 在終端中運行,並且取決於您如何使用它以及您正在運行的 Vim 類型,它並不是真正為您設計的用鼠標選擇文本並以傳統方式復制和粘貼。

如果要使用 Vim 選擇所有文本,請使用g g V G y (注意中間的大寫V G )。 此命令將光標移動到文件頂部,進入可視模式,移動到文件底部(因此,選擇所有文本),然后猛拉(復制)它。 然后你可以使用p來放置(粘貼)這段代碼,但只能放在 Vim 內部

如果你想復制到剪貼板以在 Vim 之外的某個地方使用,那么試試這個:

首先,使用上面列出的命令選擇所有內容,但沒有最后的y :( g g V G )。 然后按" * y 。現在應該將其復制到操作系統的剪貼板,您可以在 Vim 之外的任何地方粘貼( Ctrl / Cmd + v )。這可能會因您對 Vim 的設置而異,但它應該可以工作.


所用命令的簡要說明。 g g轉到文件頂部。 V按行進入可視模式。 G轉到文件末尾。 y猛拉(復制)文本但復制到剪貼板。 p放置(粘貼)文本。

更高級(即酷)的東西:

"允許您訪問寄存器。例如" a提供對寄存器 a 的訪問。

*是系統剪貼板,因此"*提供對系統鍵盤的訪問。因此, "*y猛拉進入系統剪貼板。

雖然對如何在 vim 中利用系統剪貼板有很好的解釋,但聽起來您首先無法讓 vim 訪問剪貼板。 嘗試安裝 vim-gnome,它會為您提供進入系統剪貼板所需的軟件包。

出於某種原因, "* 對我不起作用,但與 "+ 寄存器完全相同的命令確實如此。

要選擇整個文件,您可以跳到開頭,啟動視覺模式,跳到結尾:

GGVG

這個問題已經有幾年了,但我在 Linux Mint 18 上遇到了同樣的問題。我發現使用xclip對我xclip 您可以在 .vimrc 中映射命令vmap <F7> :!xclip -sel c<CR><CR>以將當前在可視模式下的選擇復制到系統剪貼板。

是一個包含上述(和其他)解決方案的線程。

您可以使用

Vggy/vggy 或,

VGy/VGy

要直觀地選擇任意數量的文本然后復制它,在您的情況下,它是 gg / G,因為您希望文件中的所有文本,

gg 是在光標位於文件底部時進行復制,gg 是轉到頂部

G 是在光標位於文件頂部時進行復制

或者甚至你總是可以使用

Vk(as number of time)y 復制選定的文本行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM