每天學習一點新東西——vim篇(二)
阿新 • • 發佈:2019-02-03
學些這些比較簡單的操作時,一定要自己動手實踐才會有效果。
本文文章參考vim的簡單使用教程
第三課 各種查詢操作
比如我們想在文件中搜索一個簡單的字串like,可以用/命令::/like
找到第一個後繼續查詢::/(不能用 .命令)
如果用到正則表示式查詢的話,可以用\來進行轉義::.*[]ˆ%/\?~$
下面的命令可以將搜尋到的結果高亮顯示:
:set hlsearch
向後搜尋是用/,向前搜尋是用?,都支援正則表示式
第四課 基本複製貼上操作
當用命令d或者x刪除一段文字之後,被刪除的文字被自動儲存到了剪下版中,可以用p命令貼上到游標所在的位置後面。
文字中加入標籤:
有時,我們要刪除一個大的文字塊,直接用d命令很難描述這個文字塊的開始和結束。這時可以用 m 命令(mark)在文字中做個標記。還是舉個具體的例子。比如有如下的文字:
int main(void)
{
double x = 1e-2;
double y[5];
y[0] = gsl_log1p(x);
y[1] = log1p(x);
y[2] = log1p2(x);
y[3] = log1p3(x);
y[4] = log(1+x);
printf("gsl_log1p = %.15e\n", y[0]);
printf("log1p = %.15e\n", y[1]);
printf("log1p2 = %.15e\n", y[2]);
printf("log1p3 = %.15e\n" , y[3]);
printf("log(1+x) = %.15e\n", y[4]);
return 0;
}
想要將幾條printf 語句都刪除掉。先將游標移動到第一個printf語句的第一個字元p處。執行命令 ma 。其中的 a 是給這個標籤命的名字,命名的規則與 q 命令相同。然後將游標移動到 return 語句的 第一個字元 r。輸入命令 d`a。可以看到幾行 printf 語句都被刪除了。
`a 表示做標記的位置
當我們在一篇文章中做了多個標記後,可能我們自己都記不清那些標記都放到了哪裡。這時可以用下面的命令顯示出所有的標記。
:marks
複製命令
Vim 中稱複製操作為 yank。對應的命令是 y
y 命令與d 命令相似,只是它不刪除所選的區域。