1. 程式人生 > >每天學習一點新東西——vim篇(二)

每天學習一點新東西——vim篇(二)

學些這些比較簡單的操作時,一定要自己動手實踐才會有效果。
本文文章參考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 命令相似,只是它不刪除所選的區域。