在Vim中将字符转换为代码点

时间:2015-09-15 19:08:53

标签: vim unicode

ga对于获取角色的代码点非常有用。但是它并没有将结果放入缓冲区。现在,要将字符转换为代码点,我这样做:

  1. ga并尝试记住代码点。
  2. a并输入我记得的内容,因为显示屏现已消失。
  3. <Esc>4hga再次检查以确保我做对了。
  4. 不出所料,我用这种方法犯了错误。有什么建议吗?

    阅读this post后,看起来可以编写一个函数。但是,首选的解决方案并不需要大量的自定义。

1 个答案:

答案 0 :(得分:3)

redir命令可以执行您想要的操作;它将后续Vim命令的输出重定向到文件或寄存器。作为一个概念证明,我只是写了一个简短的函数来做你想做的事情:

function GetCodepoint()
    redir @">   " Redirect command output into the unnamed register
    ascii       " Print ASCII value of the character under the cursor
    redir END   " Stop redirection
endfunction

运行call GetCodepoint()会将ga命令的输出保存到 未命名的寄存器("),但redir命令可用于将后续Vim命令的输出重定向到您喜欢的任何寄存器。有关可以调用它的所有不同方式,请参阅:help :redir

此外,该功能足够短,你可能只是运行 手动命令。这取决于你做这件事的频率。