我正在调查主要是带有很多长行的UTF-8文件。但是,该文件并不完全是文本文件,存在一些垃圾。为了找到我的兴趣点,我使用了hd
和grep
。
所以在某个时候我知道它对例如0000301a,所以我想在Vim中快速打开文件并跳转到该位置。
示例(实际上是一个小文件,这里的位置是0000001c):
me@here:~$ hd file | grep -C 10 \ 00\
00000000 6c 69 6e 65 31 0a 6c 69 6e 65 32 0a 6c 69 6e 65 |line1.line2.line|
00000010 33 0a 6c 69 6e 65 34 0a 6c 69 6e 65 00 35 0a 6c |3.line4.line.5.l|
00000020 69 6e 65 36 0a 6c 69 6e 65 37 0a 6c 69 6e 65 38 |ine6.line7.line8|
00000030 0a 6c 69 6e 65 39 0a 6c 69 6e 65 31 30 0a |.line9.line10.|
0000003e
me@here:~$
Vim中有技巧可以跳转到字节位置吗?还是尽可能接近?
最佳答案
就在这里。这是普通模式命令go
。
从 :h go
:
例如,42go
跳到字节42。
为了跳转到十六进制或八进制地址,您将需要使用:normal! go
或等效的:goto
以及str2nr()
或printf()
函数构造一个命令。
:exe 'normal! ' . str2nr('0x2a', 16) . 'go'
:exe 'goto' str2nr('0x2a', 16)
关于vim - 跳转到vim中的字节地址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18238771/