我將一些代碼從一個文件的一部分複製到vim中的另一部分,我發現每行都有行號,格式不見了,如何將正確的格式設置爲原點?複製時如何清除Vim中的行號?
這樣的:
40 root /opt/release/current/public;
67 41 passenger_enabled on;
68 42
我將一些代碼從一個文件的一部分複製到vim中的另一部分,我發現每行都有行號,格式不見了,如何將正確的格式設置爲原點?複製時如何清除Vim中的行號?
這樣的:
40 root /opt/release/current/public;
67 41 passenger_enabled on;
68 42
如果你有行號,我敢肯定你不使用Vim的抽出/放操作(這將從未複製linenumbers,摺疊列,圖標等),因爲就編輯緩衝區而言,它們不存在。我猜你是在一個終端模擬器中工作,並使用鼠標將東西複製到剪貼板,這可能會選擇屏幕上的「無關」空間(包括末尾的虛擬空間,行號,摺疊標記等) )
您可能有運氣才能像你希望它變得鼠標的動作設定
:se mouse+=a
。否則,執行選擇與V<movement>...
Ý(y
爲yank
,其對應於 '複製')
然後在目的地使用p(放在光標),或P(放前光標)
讓我知道這是否幫助,或者您需要更多的信息
yank +粘貼操作在vim中運行良好,但粘貼到另一個編輯器或遠程終端又如何? – Rohit 2015-04-02 03:40:24
看一看,有時設定爲F11的pastetoggle選項。
作爲替代你總是可以寫上你要複製到一個臨時文件 (ma
,轉到結束線,然後使用:'a,.w tempfile
)的部分,然後讀入第二個文件。
有關進一步調查,你可能想看看autoindent選項。
以前輸入的所有解決方案都非常好。但是,有時候你在遠程服務器上使用vim(所以你不能使用"+y
複製到剪貼板)。終端通常支持複製粘貼操作。
我使用vim輸出可視選擇到一個新的外殼,我可以使用終端功能複製文本:
:'<,'>w ! bash -c cat
然後我可以很容易地複製該輸出。在VIM粘貼
相同的模式:
:r ! bash -c cat
然後我粘貼,並使用按Ctrl +d發送EOF貓。此方法還可以避免重新粘貼您粘貼的文本(注意:您可以使用:set pi!
禁用自動縮進)。
我將下面的命令映射到一個鍵。
它刪除複製行號周圍的空白。
它忽略行文本和任何後面的空行。
:1,$s/^\s*[0-9]\+\s//\|1,$s/^\s*[0-9]\+\n/\r/<cr>
在Windows VIM GUI::set nu
,然後按住Ctrl鍵 - 移而 突出用鼠標所需的文本。這將行號碼 放入緩衝區。
如果有人想要更快的方法(在Linux上),我注意到在vim中你可以按住ctrl並拖動你想要複製的區域,你將避免行號並選擇你想要的部分。
步驟:
什麼是vim?當我按住ctrl時,我最終點擊右鍵。任何其他的鑰匙,我仍然得到行號。 – 2016-04-03 20:56:54
嗯,你放開CTRL之前,你右鍵點擊?另外,我正在使用Linux。 – 2016-04-05 13:39:47
我喜歡這個答案。在Mac上,您可以選擇(alt)而不是ctrl。突出顯示的區域與小寫v模式下的視覺選擇類似。 – Steve 2016-06-02 15:40:26
這樣做的一個永久的解決方案是增加下面的代碼位於您主目錄中的.vimrc
文件末尾。
se mouse+=a
通過增加這一點,你就可以只選擇文本,而不是行號如下圖所示的圖像:
如果你沒有得到你的.vimrc
文件你的主目錄(我遇到這個問題),在vi編輯器中輸入命令:scriptnames
,它會顯示你的.vimrc
文件的位置。 Reference
你是什麼意思的格式? Vim根本無法使用格式化文本。 – 2011-04-20 09:39:10
對不起,格式表示空格和行號 – why 2011-04-20 09:54:57