Vim Text Object,vim 裡的文字物件,操作方式。
Task list: :smile:
Vim Text Objects: The Definitive Guide
本文讀完上面的文章後,一些心得筆記。
Vim 裡文字可分為一些單位來操作: character, word, sentence, paragraph, (或是程式中的 function, class,…,又或者用 plugin 自定義結構)
[number] < command >[text object or motion]
3dd
, 作 dd
這個動作3次,可以省略,前置、或後置一般的編輯命令,主要的結構就是上述的 編輯命令 + 文字物件 ,或是移動動作, 像是:刪除一行,移到文章末。
上面有提到的文字物件,就是 Vim 中編輯動作操作的對象,一個字,一句,一段,整篇文章,…
大概可以分成幾種討論:
範圍選擇:i(inner ) 和 a(around)
例子:The quick brown fox jumps over the lazy dog , 如果遊標在 brown
diw
: 刪掉 browndaw
: 刪掉 brown ,和 兩邊的空白文字物件
動作指令
[VimText](http:://vim.org)
在 VimText 處,輸入 ci[
,就可以改變 括號的內容。
<div id="content">what a name</div>
駝峰式大小寫,多個單字連結新識別名稱,每個單字的第一字母大寫。 出自 Larry Wall等人所著的暢銷書《Programming Perl》
而上面的 plugin 就是用來處理 CamleCase
https://github.com/vim-scripts/argtextobj.vim
https://github.com/michaeljsmith/vim-indent-object
Ruby Block https://github.com/nelstrom/vim-textobj-rubyblock
Vim Text Object 可以精確的指出動作的目標。 熟悉使用,可以讓Vim的編輯動作變快。