`
jywhltj
  • 浏览: 46745 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Vim 十六进制编辑

    博客分类:
  • vim
阅读更多

开始十六进制编辑

要在 vim 中开始十六进制编辑,可通过如下命令

:e ++bin ++enc=ansi | %!xxd -g1
:set ft=xxd

“|”是 vim 多个命令的分隔符,这实际上是三个命令。

 

其中最关键的命令是

%!xxd -g1

它是对当前编辑的文件调用命令“xxd -g1”然后编辑该命令的输出,需要注意的是被编辑的文件没有变,如果此时保存的话,将会这些十六进制信息对应的文本替换原文件。

 

“xxd -g1”的作用是以单个字节为单位按十六进制方式列出文件内容。

 

再看第一条命令:

e ++bin ++enc=ansi

 作为文本编辑器,vim 打开一个文件默认是以文本的方式,而我们之所以要进行十六进制编辑通常是因为文件是二进制的,若以文本方式编辑会是有损转换。所以需要以二进制方式重新加载文件,即命令“e ++bin”,“++bin”参数指示二进制方式。同样道理为避免编码转换带来的损失,需以 8bit 编码识别文件,“++enc=ansi”参数指示识别 ISO-8859-1(vim 中别名 ansi、latin1)编码,该编码是一种 8bit 编码。此后再调用第二个命令“%! xxd -g1”转十六进制则即是无损转换。

 

第三条命令:

set ft=xxd

 的作用是切换语法类型为 xxd,以刷新语法高亮。如果未执行该命令,语法高亮还会按照之前的文件类型,可能看起来会是混乱的。


结束十六进制编辑

上文提到了,再开始十六进制编辑之后若保存的话将会以十六进制文本替换原文件。如果要想保存十六进制编辑的变更需要还原为原始的二进制,命令为:

%!xxd -r

 即对当前文件调用命令“xxd -r”,其作用就是将十六进制信息还原。


插入/删除

vim 通过上述方式调用外部命令“xxd”方式实现的十六进制编辑,不适合有插入/删除操作的编辑,通常只适用于只读查看或者覆盖式编辑。

 

如果需要插入/删除操作,可调整下开始/结束编辑命令分别用:

:e ++bin ++enc=ansi | %!xxd -i
:set ft=c
 :%!xxd -r -p

 这样其格式跟传统的十六进制编辑工具格式不大一样,但便于插入/删除操作。

分享到:
评论

相关推荐

    linux-Swatch是一个Vim插件可以更轻松地使用十六进制颜色代码和配色方案

    Linux开发中的Swatch是一个专为Vim编辑器设计的强大插件,它主要目的是为了帮助开发者更方便地处理和查看十六进制颜色代码以及各种配色方案。在编程、设计或者文本编辑过程中,颜色代码的使用是必不可少的,尤其是在...

    vinarise.vim:带有 Vim 的终极十六进制编辑系统

    "vinarise.vim" 是一个专为 Vim 编辑器设计的强大的十六进制编辑系统,它将经典的文本编辑功能与高效的二进制数据处理相结合。Vimscript 是实现这个扩展的关键,它是 Vim 编辑器的内置脚本语言,允许用户自定义编辑...

    matlab十六进制转十进制代码-conf:conf

    matlab十六进制转十二进制代码 Vim,Bash等al。 该存储库包含我的个人配置文件。 还有一些东西。 编程技巧 Vim 一般提示 Ca Cx:在正常模式下,当光标位于数字上时,可以通过分别执行来增加或减少它 CTRL-a CTRL-x ...

    hexdino:具有Vim的十六进制编辑器,如用Rust编写的键绑定

    具有vim的十六进制编辑器,如用Rust编写的键绑定。 依存关系 诅咒 建造 的Ubuntu sudo apt install libncursesw5-dev cargo cargo build 尼克索斯 创建default.nix with import < nixpkgs> {} ; { hexdinoEnv = ...

    deorise.nvim:用于Neovim的深色十六进制编辑器界面

    它提供了十六进制编辑功能。安装注意:要使用Deorise,需要Neovim 0.3.0+或带有Python3.8.0 +的Vim8.1 +。 如果不确定是否有此,请参阅。 解压缩文件并将其放入Neovim目录(通常$XDG_CONFIG_HOME/nvim/ )。 执行:...

    基于Ncurses的十六进制编辑器-开源

    基于Ncurses的十六进制编辑器,具有类似vi / vim的界面。 功能包括大文件支持,搜索突出显示,多个撤消/重做,视觉选择,剪切/粘贴,blob着色,文件选项卡等等。

    8-杂项题目练习(五)

    本文主要围绕杂项题目练习(五)进行讨论,涵盖了多个相关知识点,包括图像隐写、十六进制编辑、ASCII解码、坐标转换、gnuplot工具使用等。 第一部分:图穷匕见 在这个题目中,我们需要打开图片,查看其属性,并将...

    swatch.vim:使用十六进制颜色代码,轻松快速地制作自己的vim colorchemes

    1. **颜色预览**:允许用户输入十六进制颜色代码(如 `#FF0000`),并在实时预览窗口中显示颜色样本,以便于检查和比较。 2. **颜色选择器**:提供了简单的界面,让用户可以通过交互式方式选择颜色,而无需记住所有...

    Windows下的文本编辑器-flexedit

    FlexEdit Windows下的文本/十六进制编辑器,为编程人员提供方便强大的文本/十六进制编辑器。FlexEdit为公益软件,免费使用,没有任何功能限制。 基于Scitilla的强大的编辑功能 能够高亮显示的语言列表有:ada, asm,...

    好用的编辑器

    UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,可以取代记事本,内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。 说到编辑器的快捷键,VIM是...

    happy1952#articles#Linux 下如何创建并编辑一个二进制文件1

    Linux 下如何创建并编辑一个二进制文件创建二进制文件创建一个2个字节的二进制文件编辑文件将格式转换为十六进制(VIM 编辑器中操作)文件内容如下:修改文件内

    windows版xxd

    XXD是由Vim编辑器的作者 Bram Moolenaar 开发的一个实用程序,它的主要功能是将二进制文件转换为可读的十六进制表示,并且可以反向转换回原始二进制格式。XXD的名称来源于“Hex Dump”的缩写,其工作原理类似于Linux...

    Vim不常见但是很实用的命令技巧.doc

    - 结合 `xxd` 工具,可以将Vim转换为十六进制编辑器:`:%!xxd`,还原为文本模式使用 `:%!xxd -r`。 12. **跳转历史**: - 编辑过程中,`Ctrl+o` 回到上次编辑的位置,`Ctrl+i` 返回前进。 13. **生成HTML文件**...

    vim正则表达式的使用

    - `\x`:匹配十六进制数字。 - `\X`:匹配非十六进制数字。 - `\o`:匹配八进制数字。 - `\O`:匹配非八进制数字。 - `\h`:匹配单词起始字符,即字母或下划线。 - `\H`:匹配非单词起始字符。 - `\p`:匹配可打印...

    wxhexeditor

    【wxhexeditor】是一款基于【wxWidgets】库的开源十六进制编辑器。它允许用户对二进制文件进行深入的查看和编辑,包括查看、修改文件的十六进制值,进行查找、替换等操作。在软件开发和数据恢复等领域,这种工具非常...

    viaje:Vim不是可接受的Jex编辑器

    威盛 Vim不是可接受的Jex编辑器...我尚未编写任何文件类型自动检测规则,因此,现在您必须通过设置文件类型来手动打开十六进制编辑模式: :set ft=xxd 您会看到以下内容: 00000000: 7f45 4c46 0201 0100 0000 0000

    C语言学习总结.pptx

    * 十进制、二进制、八进制、十六进制 * 进制转换的方法 * 二进制与八进制之间的转换 * 二进制和十六进制之间的转换 变量和数据类型: * 变量 * 数据类型转换(隐式类型转换、强制类型转换) * 常量 运算符: * ...

    UltraEdit常用快捷键大全

    UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,可以取代记事本,内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。 说到编辑器的快捷键,VIM是...

    monokai:Monokai 颜色方案,最初由 Damien Gombault 移植到 vim

    文德尔添加到您的 .vimrc: Plugin 'lsdr/monokai'编辑配置文件后不要忘记:PluginInstall 。手动安装通过网络获取它并将其本地存储在您的.vim/colors文件夹中: $ cd ~/.vim/colors$ curl -G ...

Global site tag (gtag.js) - Google Analytics