如何让 vim 中的空格变宽?

How to make spaces wider in vim?

我最近安装了 window manager awesome,并开始使用 xterm。在配置字体时,我看到了这个网页:https://cjshayward.com/terminal/printer.html 这说明了一个非常好的观点,即您不必为了获得更易于阅读的代码而使字体更大,而只是为了使单词之间的空格更宽。

如何在 vim 中实现此目的?

这不可能。 Vim 每个字符使用固定大小(因为它在终端中是 运行),因此更改此设置的唯一方法是更改​​字体或字体大小。要获得不同的 character/letter 间距,您需要编辑字体或选择其他字体。

我能想到的唯一技巧是将每个 space 字符替换为其双角字符 U+3000 表意文字 space:

:%s/ /\=nr2char(0x3000)/g

您之前可以使用 :autocmds 撤消此操作,并在保存后重做,但我不推荐这样做。

遗憾的是,隐藏 功能目前只能处理单角字符。这将是一个更好的解决方法。

@Ingo 这是我添加到我的 .vimrc 中的内容:

"doubles space in insert mode    
inoremap <space> <space><space>

if !exists("autocommands_loaded")
        let autocommands_loaded = 1

        "doubles spaces when reading file
        au bufRead *.cpp        silent %s/ /  /g

        "for :w
        au bufWritePre *.cpp    silent %s/  / /g
        au bufWritePost *.cpp   silent %s/ /  /g

        "for :wq
        au quitPre *.cpp        silent %s/  / /g
endif