您的位置:首页 > 其它

vim 利用查找替换命令把所有的十进制数字转化成十六进制数字

2010-08-13 01:34 429 查看
vim 的查找替换功能相当强悍,这是在网上找到的一个功能:把所有的10进制数字,转化成16进制数字。

首先确定在 vim 的命令模式下,然后敲入以下命令:

:%s//d/+//=printf(“%X”, submatch(0))/g



回车,现在文档中的全部数字都已经转化成16进制的数字:



这条命令的原理是,把一串数字,用 printf() 函数的输出替换掉,printf() 函数输出的正是这串数字的16进制形式。

命令分解如下:

%s 在整个文件中替换 (:help :s )
/d/+匹配一个或多个数字 (:help //d :help //+ )
/=使用表达式的结果进行替换 (:help //w )
printf按指定格式输出 (:help printf() )
submatch()返回:s命令中的指定匹配字符串 (:help submatch() )
g替换行内所有出现的匹配 (:help :s_flags)
看来,vim 替换命令的巧妙使用可以完成很多意想不到的功能!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐