< 多重剪貼簿 >
registers 本質上就是 multiple clipboard 。但是,其實平常我也不會特別想要同時使用多個剪貼簿。這個好用的點,通常是當 yank 與 delete 衝突時,就很方便。
常發生的情況是這樣子:
- yank 第 15 行,打算 paste 到 28 行。 => yy
- 在 paste 之前,在 27 行做行刪除。 => dd
- 在 28 行按下 p 時,失敗! 因為貼上的並不是原先的第 15 行。
解法是這樣子,最後一個操作要改成 => "0p
"0 這個 register 總是會放入 yank 的資料,如果不指定 register 的話,會使用 default register ,但是在上述的情況, default register 會被 delete 的資料給填充。
輸入 :reg ,就可以看到各個 registers 的內容。
< 重構程式碼、變數重新命名 >
這種時候,用 vimgrep 似乎頗合用。
:vimgrep /PATTERN/ ** => 在當前目錄與其子目錄下,找出所有的 PATTERN
搭配指令
:cnext, :cn => 去下一個找到 PATTERN 的 buffer
:cprevious, :cp => 去上一個找到 PATTERN 的 buffer
:copen => 打開 Quickfix 窗口,顯示所有結果
:cclose, :ccl => 關閉 Quickfix 窗口
< 不使用 Ctrl - P 的 fuzzy search >
:e **/*部分檔名
:vsp **/*部分檔名
原理的部分,可以查 :help starstar-wildcard