2012
Apr
25





使用 vim 开发程式的时间不长,有很多指令仍在学习当中,这里记录一些 vim 相关的指令与设定。

16进位数字与纯文字之间的转换

在比对档案的时候,通常需要视检档案的原始内容,当看原始码没办法解决问题时,就会须要看 16 进位的文字内容,方式如下。

  • vim -b filename : 先用 -b 打开一个档案
  • :%!xxd : 输入这个指令,可以把档案内容转成 16进位格式显示。
  • :%!xxd -r : 转回正常文字

印出 16 进位的档案

  • hexdump file -C

增加副档名开启的对应 syntax ,写入 .vimrc 即可

  • au BufRead,BufNewFile *.sjs set filetype=javascript

vim 中的 Grep 功能

  • [:digit:] 比对数字
  • [:alpha:] 比对英文
  • [[:digit:]]\+ 比对长度 1 以上的数字
  • [[:digit:]]\{3\} 比对三次
  • a{3,6} 长度三到六的 「a」
  • [_]\? 可出现 or 不出现
/[[:digit:]]\+ ,在 vim 中,先输入一个「/」 ,然后再输入「[[:digit:]]\+ 」,就可以搜寻出所有的数字。

vim 文字的 replace

将所有的 aaa 取代成 bbb, 「%」代表操作整个档案。

Example
  1. :%s/aaa/bbb/g

将 第 10 行到第 20 行的 aaa 取代成 bbb, 「10,20」 代表只操作 第 10 行 至 第 20 行。

  • :10,20s/aaa/bbb/g

最后一个 g 代表同一行出现两次以上 aaa 时,会全部取代,如果没有加上 g 这个参数,当同一行出现二次 aaa ,这时只有第一个 aaa 会变成 bbb。

vim 热键

  • :help key-notation :看 vim 热键设定
  • zR : 打开所有摺叠的 folder
  • zM : 收起所有可摺叠的 folder
  • 「*」跳到下一个搜寻字串
  • 「#」跳到上一个搜寻字串

回應 (Leave a comment)