最近在個人部落格上 每天都會介紹乙個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編輯器的開發效率 安...