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
- :%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
- 「*」跳到下一个搜寻字串
- 「#」跳到上一个搜寻字串