Ubuntu vim 以十六进制的形式显示文件内容

这篇具有很好参考价值的文章主要介绍了Ubuntu vim 以十六进制的形式显示文件内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vim的介绍

Vim(Vi IMproved)是一款开源的文本编辑器,是 Unix 系统中经典的 vi 编辑器的改进版本。它具有强大的功能和高度可定制性,被广泛应用于程序开发、系统管理和文本编辑等领域。

以下是 Vim 的一些主要特点和功能:

  • 模态编辑:Vim 包含多种编辑模式,包括普通模式、插入模式、命令行模式等。在普通模式下,可以执行各种编辑操作和移动光标等操作;在插入模式下,可以输入文本;在命令行模式下,可以输入命令或执行扩展功能。
  • 强大的编辑功能:Vim 提供了丰富的编辑功能,如复制粘贴、撤销重做、查找替换、全局替换、宏录制播放等。它还支持语法高亮、自动缩进、自动补全等功能,提高了编辑效率。
  • 多窗口和分屏:Vim 支持同时打开多个文件,并可以在窗口之间切换或分割窗口进行同时编辑,便于对多个文件进行操作和比较。
  • 可扩展性:Vim 支持插件和脚本编写,用户可以自定义和扩展编辑器的功能和行为,满足个性化的需求。
  • 跨平台支持:Vim 可以在多种操作系统上运行,包括 Unix/Linux、Windows、Mac 等。

Vim 是一个非常强大和灵活的文本编辑器,但也有一定的学习曲线。对于初次接触 Vim 的用户来说,可能需要一些时间来熟悉它特有的编辑方式和命令。然而,一旦掌握了 Vim 的基本操作和常用功能,它将成为你高效编辑文本的得力工具。

为什么要使用 vim

vim 是命令行界面的编辑工具,上手非常困难,那么为什么还要使用 vim 呢?和图形界面的文本编辑工具相比,vim 确实不怎么方便,但是 vim 却有着很大的用处。比如,在没有图形界面的服务器上,想要进行文本编辑操作,就不得不使用 vim。服务器省去了图形界面,主要有以下几个原因:

  • 资源利用:图形界面需要大量的系统资源(如内存和处理器),这对于服务器来说是宝贵且有限的资源。通过省略图形界面,服务器可以将更多的系统资源用于运行服务和应用程序,提高性能和响应速度。
  • 安全性:图形界面引入了许多潜在的安全风险。图形界面提供了更多的用户交互和操作选项,容易导致误操作或不当配置,从而增加了系统遭受攻击的可能性。通过远程登录并使用基于文本的终端界面,管理员可以更好地控制和保护服务器,减少潜在的安全漏洞。
  • 稳定性和可靠性:图形界面往往比文本界面更复杂,包含更多的代码和组件。这增加了系统崩溃、冲突和不稳定的风险。通过仅使用文本界面,服务器可以更加稳定和可靠地运行,并且更容易进行故障排除和维护。
  • 自动化和脚本化:服务器环境通常需要进行大规模的配置管理,以支持自动化部署、监控和维护。文本界面提供了更方便的方式来执行自动化任务和编写脚本,例如使用 Shell 脚本或配置管理工具(如 Ansible、Chef、Puppet 等)。这有助于提高效率并保持一致性。

Ubuntu 安装 Vim

Ubuntu 安装 Vim 的命令:sudo apt-get install vim

使用 Vim

使用 vim 打开文件:vim 文件名,如果该文件在当前目录下已经存在,则打开读取其中的内容,如果当前目录下不存在该文件,则创建该文件。

例如:
Ubuntu vim 以十六进制的形式显示文件内容,Linux & Ubuntu & CentOS,ubuntu,vim,linux
按下回车键后会进入vim的编辑界面:
Ubuntu vim 以十六进制的形式显示文件内容,Linux & Ubuntu & CentOS,ubuntu,vim,linux在当前页面按下 ai 进入编辑模式,此时左下角会出现
-- INSERT --
Ubuntu vim 以十六进制的形式显示文件内容,Linux & Ubuntu & CentOS,ubuntu,vim,linuxEsc 键退出编辑模式。

vim 的基础命令

以下是 Vim 的一些基础命令:

  1. 进入编辑模式:

    • i:在光标所在位置插入文本。
    • a:在光标后插入文本。
    • o (注意,这里是小写字母o,下面是大写字母O):在当前行下方插入新行,并进入插入模式。
    • O:在当前行上方插入新行,并进入插入模式。
  2. 退出编辑模式:

    • <Esc>:退出插入模式,回到命令模式。
  3. 保存和退出:

    • :w:保存文件。
    • :q:退出 Vim。
    • :wq:保存文件并退出 Vim。
    • q!:强制退出。
  4. 光标移动:

    • h:向左移动一个字符。
    • j:向下移动一行。
    • k:向上移动一行。
    • l:向右移动一个字符。
    • gg:跳转到文件的开头。
    • G:跳转到文件的末尾。
  5. 删除文本:

    • x:删除光标所在位置的字符。
    • dd:删除整行。
  6. 复制和粘贴:

    • yy:复制一整行。
    • p:粘贴剪贴板中的内容。
  7. 撤销和重做:

    • u:撤销上一次操作。
    • <Ctrl + r>:重做撤销的操作。

这只是 Vim 命令的一小部分,Vim 还具有更多强大的功能和命令。你可以通过在命令模式下键入 :help 来查看 Vim 的帮助文档,其中包含了更详细的命令说明和用法示例。

vim 以十六进制的形式显示文件内容

在 vim 的编辑界面,按下英文版的 : 冒号键,然后输入命令 %!xxd 按下回车后,会将文件内容以十六进制的形式输出。

Ubuntu vim 以十六进制的形式显示文件内容,Linux &amp; Ubuntu &amp; CentOS,ubuntu,vim,linuxUbuntu vim 以十六进制的形式显示文件内容,Linux &amp; Ubuntu &amp; CentOS,ubuntu,vim,linux使用命令 %!xxd -r 退出十六进制编辑模式,回到默认的编辑模式。

今天发现了一个有趣的现象

今天我使用 vim 以十六进制的形式查看了一个 png 文件,该文件的 properties 如下:总共是46568个字节
Ubuntu vim 以十六进制的形式显示文件内容,Linux &amp; Ubuntu &amp; CentOS,ubuntu,vim,linux

但是使用 vim 查看后发现文件的末尾多了一个字节 0a 如下:

Ubuntu vim 以十六进制的形式显示文件内容,Linux &amp; Ubuntu &amp; CentOS,ubuntu,vim,linux
查了一点资料:
Vim以十六进制形式查看文件时,末尾多出的"0a"代表ASCII码中的换行符。在Unix/Linux系统下,文本文件的行结束符通常是"\n"(ASCII码为0a),而在Windows系统中则是"\r\n"(ASCII码为0d 0a)。

当你使用Vim以十六进制形式查看文件时,Vim会将每个字符转换为对应的ASCII码来显示。换行符被显示为"0a",这是因为正常情况下,在十六进制模式下,Vim会按照内容的字节进行显示,其中包括了文本中的控制字符。

所以,当你在Vim中查看文件的十六进制表示时,末尾的"0a"实际上是文本文件最后一行的换行符。

对于图片文件来说,它们通常是以二进制形式保存的。在二进制文件中,并没有像文本文件一样使用换行符来表示行结束。

因此,当你查看一个图片文件的文件大小时,无论其大小是多少,文件的末尾并不会有固定的 0a 字节。这也适用于其他二进制文件,如音频、视频等。

然而,当你使用 Vim 这样的文本编辑器打开一个二进制文件时,默认情况下 Vim 会将其作为文本文件处理,并根据编码规则解析其中的字符。在解析过程中,Vim 可能会添加或修改某些字符。

所以,在你使用 Vim 打开图片文件后,即使图片文件本身的末尾没有 0a 字节,但由于 Vim 的处理和显示方式,你可能会看到文件末尾多出了 0a 字节的视觉效果。实际上,这并不是文件内容发生了改变,而是 Vim 将其以文本方式展示的结果。文章来源地址https://www.toymoban.com/news/detail-534265.html

到了这里,关于Ubuntu vim 以十六进制的形式显示文件内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机LCD1602液晶屏显示字符,字符串,(有)无符号整数,十六进制数,二进制数等

    LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用,这讲中向大家介绍的LCD1602 液晶显示模块(其内部控制器为HD44780 芯片),它可以显示两行,每行16 个字

    2024年02月04日
    浏览(64)
  • uniapp中map组件打点/地图上显示圆/设置map圆的透明度(十六进制颜色透明度)

    一般来说我们都是想设置成透明的圆,十六进制的后两位表示颜色 eg:#0000006A 6A就是表示透明度,数字越大透明度越高

    2024年02月12日
    浏览(50)
  • JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等

    小程序问题:https://kf.qq.com/faq/170705YVZFZZ170705eyI7Rr.html 调用: 注意:这里的true和false代表是否大端小端转换 调用: 调用: 调用: 调用: 调用: 此代码写到小程序utils目录下的utuils.js文件中 调用:页面最上边先引入,然后再使用 调用: 这里发送buffer1给小程序公用api就可 调

    2024年02月16日
    浏览(72)
  • JS十六进制转浮点、字符串转为ArrayBuffer、ArrayBuffer转16进制字符串、16进制转10进制、crc校验位、十六进制转中文字符串(小程序、浏览器)、十六进制字符串转ascall字串

    h5实现一键复制文本到剪切板 ArrayBuffer转16进制字符串: 字符串转为ArrayBuffer对象 十六进制转10进制 浮点型转十六进制: 将某段字符串使用某字符补齐 十六进制转带符号(-负号)整型 带符号(负号)整数转十六进制字符串(得到8个字符十六进制字符串) 带符号(负号)整数转

    2024年02月09日
    浏览(54)
  • python实现十六进制转十进制

    先来看下十六进制的定义以及表示方式,以下是百度百科上的解释: 十六进制 (简写为 hex 或下标16)是一种基数为16的计数系统,是一种逢16进1的进位制。通常用数字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F(a、b、c、d、e、f)表示,其中:A~F表示10~15,这些称作

    2023年04月19日
    浏览(48)
  • 十六进制转换到十进制(java)

    一、前言  首先我们要知道十六进制的转换以及十以上的进制的转换与十以下的进制转换是不一样的,它们在一位上会用超过9的数字,这个我们在利用以前的方法就行不通了,我接下来就向大家分享一种方法。(注:在Java中10---15分别用A B C D E F表示,不分大小写) 二、正文

    2024年02月11日
    浏览(57)
  • 【FPGA仿真】Matlab生成二进制、十六进制的txt数据以及Vivado读取二进制、十六进制数据并将结果以txt格式保存

    在使用Vivado软件进行Verilog程序仿真时可能需要对模块输入仿真的数据,因此我们需要一个产生数据的方法(二进制或者十六进制的数据),Matlab软件是一个很好的工具,当然你也可以使用VS等工具。 以下分别给出了使用Matlab模拟产生二进制和十六进制数据的例子,例子仅供参

    2024年02月01日
    浏览(56)
  • MATLAB十六进制与十进制互相转换

    包含单个数字进行转换和数组进行转换(可用于串口数据解析) 1.十六进制转十进制

    2024年01月16日
    浏览(53)
  • C语言:十进制与十六进制的转化

    要将十进制数转换为十六进制数, 可以使用以下步骤: 1. 将十进制数除以 16,得到商和余数。 2. 用余数作为当前位的十六进制数位,余数可能是 0 到 15 之间的数字,分别对应 0 到 F。 3. 将商作为新的十进制数,并重复步骤 1 和 2,直到商为 0。 4. 将得到的十六进制数位按照

    2024年02月05日
    浏览(74)
  • Python hex()十六进制转换

    Python hex() 函数用于将整数转换为以“0x”为前缀的小写十六进制字符串: 输出: 十六进制 到 十进制 使用 int() 函数 ,第一个参数是字符串 ‘0Xff’ ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。 二进制 到 十进制 八进制 到 十进制 其实可以看

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包