发布于 2015-12-27 22:18:51 | 366 次阅读 | 评论: 0 | 来源: PHPERZ
VIM Linux下文本编辑器
Vim是一个类似于Vi的文本编辑器,是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的 notepad、UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天终 于发现了一个好方法,但是最终出处找不到了。
首先创建一个二进制文件:
1
2
3
|
[oracle@logserver tmp]$ echo -n "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" > test .bin [oracle@logserver tmp]$ cat test .bin ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz[oracle@logserver tmp]$ |
注意echo 一定要跟上 -n 选项,否则会被自动加上一个换行行,再用vim打开 test.bin
1
|
[oracle@logserver tmp]$ vim -b test .bin |
vim 的 -b 选项是告诉 vim 打开的是一个二进制文件,不指定的话,会在后面加上 0x0a ,即一个换行符。
在命令模式下键入:
1
|
:%!xxd |
如果 vim 后面没有加 -b 选项就会出现可恶的 0x0a:
如果有 -b 选项就不会有这种情况:
然后进入编辑模式改,改就是了,我将A、B对应的41、42改成61、62,将a、b对应的61、62改成41、42。
回到命令模式输入:
1
|
:%!xxd -r |
此时可以发现AB和ab的位置互换了。
最后在命令模式中输入 :wq 保存退出即可。