每日vim外掛程式 vim中的文字物件及相關外掛程式

2022-05-14 05:06:29 字數 1591 閱讀 8365

最近在個人部落格上  每天都會介紹乙個vim外掛程式,想起來園子也好久沒更新了,也來更新一篇。

所謂文字物件,簡單來說就是以一定標準分隔符來標識一段文字,比如乙個單詞,一句話,一段話。

使用文字物件後你會發現你在vim中的移動和操作速度提公升了不是一點半點。

可以看到文字物件和motion的操作是完全一致的,第乙個是數字,比如3w,就向前移動三個單詞。

文字物件大致有以下幾種:

w  s  p '' ""  <>    ()  {}
其中w表示word,s表示句子,p表示段落,其他的就是昨天介紹過的包圍符號,標籤用t表示。

文字物件的操作範圍有兩種,一種用i表示,是inner的意思,即不包括單詞邊上的空格符,亦或是<包圍符號本身。一種用a表示,是arround的意思,和i相反,使用a就包括了空格符或者包圍符號本身。

文字物件的編輯命令就是vim中的幾個常用編輯命令,分別是

`y:複製`,`d:刪除`,`c:替換`,`v:選中`
說的有點多了,來幾個例子相信大家就立刻理解了。(例子中*都是游標所在位置)

比如:

<*h2>sample title
按下cit,文字變為:

再比如:

console.log(「stay hungry,」 + 「stay *foolish」)

按下da",文字變為:

console.log("stay hungry," +*)
再按下di),文字變為:

console.log()
比如

hello worl*d
按下diw,文字變為:

hello
很容易理解是不是?有沒有發現為什麼說文字物件會非常方便了?無論游標在文字的哪個位置,都可以直接操作整個文字。體驗箭步如飛的感覺吧。

vim還允許使用指令碼來自定義文字物件,這就是我們今天要介紹的外掛程式了,這些外掛程式自定義了一些文字物件。

1.camelcasemotion

該外掛程式是把駝峰詞語的每個單詞分開,舉個例子:

get*elementsbyclassname
按下di,w,則文字變為:

getbyclassname
非常方便。

2.argtextobj

該外掛程式定義了函式內的引數文字物件。比如:

foo(text, ti*mes, option) {}
按下daa,則文字變為:

foo(text, option) {}
今天暫時就介紹到這裡。都快0點了,趕緊發出來。任何問題都可以回覆給我。

vscode中vim外掛程式對ctrl鍵的設定

自 vscode使用vim外掛程式時,會與vscode本身的一些 ctrl 快捷鍵衝突,比如 vim外掛程式導致 ctrl c 不可用,或者 ctrl w 在vscode是關閉檔案,在vim編輯模式是刪除前乙個單詞。單獨將配置 vim use ctrl keys 去掉會導致vim一些快捷鍵無法使用。...

用到的Vim外掛程式

ctags 用於生成tags檔案 taglist 便於快速的瀏覽乙個大的 檔案,可以方便的在函式之間跳轉。matchit 在配對的標籤或者字元之間跳轉。可以用於html的標籤跳轉。autoclose 自動輸入配對的字元或者標籤。xmledit 對於xml型別的檔案,自動輸入對於的標籤。pyclewn...

強大的vim外掛程式

vim是乙個類似於vi的著名的功能強大 高度可定製的文字編輯器,在vi的基礎上改進和增加了很多特性。常被稱為編輯器之神,也是本人平時最喜歡使用的一款開發者編輯器,外掛程式公升級如下 在終端輸入 wget qo sh x即可自動化安裝完成,完成以後可以達到許多意想的效果,提高vim編輯器的開發效率 安...