如何让 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
您之前可以使用 :autocmd
s 撤消此操作,并在保存后重做,但我不推荐这样做。
遗憾的是,隐藏 功能目前只能处理单角字符。这将是一个更好的解决方法。
@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
我最近安装了 window manager awesome,并开始使用 xterm。在配置字体时,我看到了这个网页:https://cjshayward.com/terminal/printer.html 这说明了一个非常好的观点,即您不必为了获得更易于阅读的代码而使字体更大,而只是为了使单词之间的空格更宽。
如何在 vim 中实现此目的?
这不可能。 Vim 每个字符使用固定大小(因为它在终端中是 运行),因此更改此设置的唯一方法是更改字体或字体大小。要获得不同的 character/letter 间距,您需要编辑字体或选择其他字体。
我能想到的唯一技巧是将每个 space 字符替换为其双角字符 U+3000 表意文字 space:
:%s/ /\=nr2char(0x3000)/g
您之前可以使用 :autocmd
s 撤消此操作,并在保存后重做,但我不推荐这样做。
遗憾的是,隐藏 功能目前只能处理单角字符。这将是一个更好的解决方法。
@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