VIM 小技巧

vim 查找

當前文件文本查找

大家應該都知道,在 VIM 裏面如果要搜索某個關鍵字,只要鍵入 /xxx就可以了,而鍵入 ?xxx 可以反向查找.

例如,我要找到所有 hello,我就鍵入

/hello

然後回車,一個文件中,所有出現這個字樣的地方都會被高亮顯示。按n鍵,就可以自動把光標跳到下一個,N 會反向跳。

最快的方式是讓光標停留在想要查找的單詞的任意一個字母上面, 然後輸入

shift + *

即可快速選中該單詞,並且可以通過 nN 進行上一個或下一個的匹配。

但是,用好這個功能,怎麼消除高亮呢?
只要鍵入

:noh

當前文件夾文本查找

在當前文件夾下面所有 .c 文件中查找字符串 hello

 :vimgrep /hello/gj ./*.c

解釋一下:

g: 如果一行中出現多處,只顯示一次,沒有g就會出現多次

j: 只是列出所有匹配的行,沒有j那麼就會跳去第一個匹配的行

查找的結果可以用 ":copen" 命令查看,在列表裏,將光標移動至相應的位置,按回車就打開對應的文件了.
注:

    :copen    打開quickfix
    :cclose    關閉quickfix
    :cc    是在轉到當前查找到的位置
    :cn    轉到下一個位置
    :cp    轉到前一個位置

vim 查找並刪除

刪除 hello

    :g/hello/d 

vim 統計單詞數

統計 hello

:%s/hello//gn

vim 編輯二進制數據

vim 作爲十六進制編輯器
用vim打開二進制文件,切換到 command 模式,
輸入 :
%!xxd
可以把當前打開的文件轉化爲十六進制編輯模式,編輯完成以後再 :
%!xxd -r

轉換回去保存

在vim 下,首先找開文件,按 esc 鍵,輸入:%!xxd可以把當前buffer中的文件轉換成十六進制和ASCII的形式,其中十六進制部分可以編輯,但 ASCII 部分不會隨着編輯同步變動

編輯完成後,按 esc 鍵,輸入:%!xxd -r可以把文件轉換回去,然後保存文件。

%!xxd中的 % 是 command-line command 模式下的 % ,表示地址範圍,相當於`` `1,$```的作用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章