日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux Vim 光标错位,技术|Vim 复制粘帖格式错乱问题的解决办法

發(fā)布時(shí)間:2023/12/1 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux Vim 光标错位,技术|Vim 复制粘帖格式错乱问题的解决办法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有時(shí)候,復(fù)制文本(尤其是代碼)到 Vim,會(huì)出現(xiàn)格式錯(cuò)亂的問題。看樣子,應(yīng)該是自動(dòng)縮進(jìn)惹得禍。本文不去深究原因,直接給出解決方法。

1. paste 模式

運(yùn)行如下命令,進(jìn)入 paste 模式:

:set paste

進(jìn)入 paste 模式后,按 i 鍵進(jìn)入插入模式,然后再粘帖,文本格式不會(huì)錯(cuò)亂了。但粘帖后還需要按 進(jìn)入普通模式并執(zhí)行如下命令結(jié)束 paste 模式:

:set nopaste

顯然,這樣非常麻煩。下面我們進(jìn)行改進(jìn)。

2. 快捷鍵一

我們可以利用設(shè)置快捷鍵來簡(jiǎn)化上面的兩個(gè)命令。在 ~/.vimrc 中加入如下兩行:

map :set paste

map :set nopaste

這樣,在普通模式下按 F10 (你也可以用自己喜歡的按鍵)就會(huì)進(jìn)入 paste 模式,按 i 進(jìn)入插入模式后粘帖,然后按 回到普通模式,再按 F11 結(jié)束 paste 模式。

這樣雖然方便了,但占用了兩個(gè)按鍵。下面我們繼續(xù)改進(jìn)。

3. 快捷鍵二

在 ~/.vimrc 中加入如下內(nèi)容:

set pastetoggle=

這樣就可以把上面的 F10 和 F11 ?合并為一個(gè)快捷鍵來切換 paste 模式了。

還有更好的辦法么?當(dāng)然!

4. Vim 寄存器一

關(guān)于 Vim 寄存器的詳細(xì)信息請(qǐng)執(zhí)行命令 “:help registers” 查看。

對(duì)于“剪切板”這個(gè)概念,Linux 下有兩個(gè)東西:一個(gè)叫做選擇緩沖區(qū)(X11 selection buffer),另一個(gè)才是剪切板(clipboard)。鼠標(biāo)或鍵盤選擇內(nèi)容時(shí),內(nèi)容實(shí)時(shí)進(jìn)入緩沖區(qū),然后按中鍵將內(nèi)容插入光標(biāo)所在位置;鼠標(biāo)或鍵盤選擇內(nèi)容后,按Ctrl-C(或Shift-Ctrl-C)或菜單中的“復(fù)制”,內(nèi)容進(jìn)入剪切板,然后按Ctrl-V(或Shift-Ctrl-V)或菜單中的“粘帖”將內(nèi)容插入光標(biāo)所在位置。關(guān)于這兩者的詳細(xì)信息,請(qǐng)自行搜索,此處不深究。

Vim 的寄存器 "* 對(duì)應(yīng)系統(tǒng)緩沖區(qū), 寄存器 "+ 對(duì)應(yīng)系統(tǒng)剪切板。

如果你是把選擇的內(nèi)容(在系統(tǒng)緩沖區(qū)中)粘帖到 Vim ,只需在普通模式下執(zhí)行如下命令:

"*p

對(duì)應(yīng)的,如果你是把復(fù)制的內(nèi)容(在系統(tǒng)剪切板中)粘帖到?Vim,只需在普通模式下執(zhí)行如下命令:

"+p

怎么樣?格式?jīng)]有錯(cuò)亂了吧?

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

還有更簡(jiǎn)單的辦法。

5. Vim 寄存器二

在 ~/.vimrc 里加入如下內(nèi)容:

set clipboard=unnamed

然后只需在普通模式下按 p 即可把系統(tǒng)緩沖區(qū)中的內(nèi)容粘帖到 Vim 中,就像粘帖用 yy 命令得到的內(nèi)容一樣,并且格式不錯(cuò)亂。

如果把上面的一行換成如下內(nèi)容:

set clipboard=unnamedplus

普通模式下按 p 粘帖的內(nèi)容就是系統(tǒng)剪切板里的內(nèi)容了。

這已經(jīng)足夠簡(jiǎn)便了。在搜索此問題的過程中,我還看到了另外一些辦法。

6. 快捷鍵三

在 ~/.vimrc 里加入如下內(nèi)容:

inoremap :setl pastegi+:setl nopastegi

這樣,你就可以在插入模式下使用 Shift-Insert 快捷鍵在粘帖系統(tǒng)剪貼板中的內(nèi)容了。

把上面一行替換成如下內(nèi)容同樣可以達(dá)到相同的效果:

inoremap "+p`]a

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

至此,你需要做的只是:

a. 復(fù)制你想要的內(nèi)容;

b. 回到 Vim 并按 Shift-Insert 快捷鍵;

c. 繼續(xù)編輯其他內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的Linux Vim 光标错位,技术|Vim 复制粘帖格式错乱问题的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。