[英]vimrc nnoremap no effect after startup with utf-8. vimrc reload fixes
我已在Windows 8的_vimrc开头设置了以下内容
scriptencoding utf-8
set encoding=utf-8
在文件的更下方是以下映射
nnoremap § ~
nnoremap ö :
我的问题是gvim启动后,映射没有任何效果。 如果我通过打开文件并强制执行写入操作来重新加载文件,
:au! BufWritePost $MYVIMRC source $MYVIMRC
加入,映射工作。 如果我在运行gvim时手动输入命令,它们也可以工作。
运行set fileencoding
报告_vimrc的fileencoding=utf-8
。
我正在使用的vim版本为7.4.094 / 2.7 / 3.3 / 2.0.0,来自https://bitbucket.org/Haroogan/vim-for-windows 。
映射无需修改即可在MacVim上的MacVim上运行。 有任何想法吗?
:nmap
的输出显示为
n § * ~
n <f6> * :
使用redir
捕获:nmap
的输出并将其粘贴到新的utf-8缓冲区中,该§
显示为灰色<a7>
。 将副本粘贴回此处时, §
再次为§
。
我从vim.org安装了gvim74.exe
,并使用了相同的_vimrc。 没有什么变化。 我的其他键映射不是ö
或§
照常工作。 我已经尝试了gvim.exe
和vim.exe
,都来自vim.org的官方版本7.4和来自https://bitbucket.org/Haroogan/vim-for-的版本7.4.094 / 2.7 / 3.3 / 2.0.0 窗户 。
如果我删除编码设置
scriptencoding utf-8
set encoding=utf-8
从我的_vimrc中,键绑定按预期工作。
我只需将编码设置的顺序更改为
set encoding=utf-8
scriptencoding utf-8
另一个解决方案是用对scriptencoding的调用包装键映射,例如
scriptencoding
nnoremap § ~
nnoremap ö :
scriptencoding utf-8
我假设这会改变文本转换为utf-8的方式,但是我不是vim专家。 请确切地告诉我为什么这行得通! 的xD
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.