gpt4 book ai didi

vim - VIM 中的仅显示字符替换

转载 作者:行者123 更新时间:2023-12-04 19:37:01 24 4
gpt4 key购买 nike

有什么方法可以设置 VIM 在不更改底层文件的情况下替换显示文本中的字符?

具体来说,我想用 SOH 字符(默认显示为 ^A)代替制表符,使 FIX 协议(protocol)日志文件更具可读性。

我对解决方法部分满意

:highlight SpecialKey guifg=#ffffff

是什么让 ^A 在白色背景上不可见,但用制表符代替会好得多。

更新:

我几乎找到了解决方案:

:syntax match SOH /^A/ conceal cchar=_
:set conceallevel=2
:hi conceal guibg=NONE

不幸的是,我还没有找到如何将制表符转义为 cchar 参数(而不是下划线)的方法。

最佳答案

我在打开日志文件时确实遇到了问题。

我使用自动命令进行此类替换并在不保存的情况下保留文件。

 :au BufEnter *.log :%s/^M/\r/g

此自动命令将在打开日志文件时用换行符替换所有 ^M 字符。

因此,像 ADM-DEVICE : logged in^MADM-DEVICE : in prompt 这样的文本将正确显示为

ADM-DEVICE:已登录
ADM-DEVICE:在提示符中

同理,也可以替换其他控制字符。我会做的一件事是将 '^[' 更改为 ` 以便更好地理解。

不应手动编辑和保存日志文件。因此,为此我将使用另一个自动命令。

  :au BufWrite *.log :q!

如果我尝试保存文件,此自动命令将退出该文件。自动命令将是自动执行您想执行的操作的最佳选择。

关于vim - VIM 中的仅显示字符替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37857539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com