vim 複製貼上格式錯亂問題的解決辦法

2021-10-05 20:32:17 字數 1679 閱讀 6818

在insert模式下直接貼上會出現格式錯亂的問題,此時需要切換為paste模式來進行貼上

esc

:set paste

進入 paste 模式後,按 i 鍵進入插入模式,然後再粘帖,文字格式不會錯亂了。但粘帖後還需要按 進入普通模式並執行如下命令結束 paste 模式

:set nopaste

我們可以利用設定快捷鍵來簡化上面的兩個命令。在 ~/.vimrc 中加入如下兩行:

map :set paste

map :set nopaste

這樣,在普通模式下按 f10 (你也可以用自己喜歡的按鍵)就會進入 paste 模式,按 i 進入插入模式後粘帖,然後按 回到普通模式,再按 f11 結束 paste 模式。

這樣雖然方便了,但占用了兩個按鍵。下面我們繼續改進。

在 ~/.vimrc 中加入如下內容:

set pastetoggle=

這樣就可以把上面的 f10 和 f11 合併為乙個快捷鍵來切換 paste 模式了。

還有更好的辦法麼?當然!

關於 vim 暫存器的詳細資訊請執行命令 「:help registers」 檢視。

對於「剪下板」這個概念,linux 下有兩個東西:乙個叫做選擇緩衝區(x11 selection buffer),另乙個才是剪下板(clipboard)。滑鼠或鍵盤選擇內容時,內容實時進入緩衝區,然後按中鍵將內容插入游標所在位置;滑鼠或鍵盤選擇內容後,按ctrl-c(或shift-ctrl-c)或選單中的「複製」,內容進入剪下板,然後按ctrl-v(或shift-ctrl-v)或選單中的「粘帖」將內容插入游標所在位置。關於這兩者的詳細資訊,請自行搜尋,此處不深究。

vim 的暫存器 「* 對應系統緩衝區, 暫存器 「+ 對應系統剪下板。

如果你是把選擇的內容(在系統緩衝區中)粘帖到 vim ,只需在普通模式下執行如下命令:

"*p對應的,如果你是把複製的內容(在系統剪下板中)粘帖到 vim,只需在普通模式下執行如下命令:

"+p怎麼樣?格式沒有錯亂了吧?

這樣雖然簡便很多了,但還是需要輸入三個字母,並且這三個字母都得使用右手小拇指輸入,甚至其中的兩個字母還需要 shift 鍵配合!

還有更簡單的辦法。

在 ~/.vimrc 裡加入如下內容:

set clipboard=unnamed

然後只需在普通模式下按 p 即可把系統緩衝區中的內容粘帖到 vim 中,就像粘帖用 yy 命令得到的內容一樣,並且格式不錯亂。

如果把上面的一行換成如下內容:

set clipboard=unnamedplus

普通模式下按 p 粘帖的內容就是系統剪下板裡的內容了。

這已經足夠簡便了。在搜尋此問題的過程中,我還看到了另外一些辦法。

在 ~/.vimrc 裡加入如下內容:

inoremap :setl pastegi+:setl nopastegi

這樣,你就可以在插入模式下使用 shift-insert 快捷鍵在粘帖系統剪貼簿中的內容了。

把上面一行替換成如下內容同樣可以達到相同的效果:

inoremap "+p`]a

注意,這可是在插入模式下哦!比起第 5 節提到的方法,這種方法省去了一次 按鍵進入普通模式和一次 i 按鍵重新回到插入模式。

至此,你需要做的只是:

vim編輯器複製貼上格式錯亂問題的解決辦法

我們經常會遇到再linux vim編輯器中複製貼上 時出現格式錯亂的問題,這會影響我們工作的效率,下面介紹一種解決這種問題的辦法 1.paste 模式 執行如下命令,進入 paste 模式 set paste 進入 paste 模式後,按 i 鍵進入插入模式,然後再粘帖,文字格式不會錯亂了。但粘帖後...

VIM複製貼上

vim作為最好用的文字編輯器之一,使用vim來編文件,寫 實在是很愜意的事情。每當學會了vim的乙個新功能,就會很大地提高工作效率。有人使用vim幾十年,還沒有完全掌握vim的功能,這也說明了vim的強大。而這樣何嘗不是一件好事呢,只要有的學習,就有的提高。最近使用vim來寫部落格,發現在vim中貼...

vim 複製貼上

傳統軟體的複製 copy 剪下 cut 貼上 paste 在vim中對應的是yank,delete和put。在vim中的複製,刪除,替換等操作的臨時內容,都會儲存在暫存器中。下面分享下vim中的暫存器和相關的基本的操作。無名暫存器 兩個雙引號,vim中叫做無名暫存器。x,s,d,c,y等操作,如果不...