Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows上的gVim:imap不映射&xE7;(cedilla)从vimrc读取时_Vim - Fatal编程技术网

Windows上的gVim:imap不映射&xE7;(cedilla)从vimrc读取时

Windows上的gVim:imap不映射&xE7;(cedilla)从vimrc读取时,vim,Vim,这里有一个奇怪的问题:我试图避免使用Esc键退出插入模式。我偶然发现了这篇文章:我喜欢以下解决方案: " Two letters. :imap çç <Esc> “两个字母。 :imapç 在gVim I类型中时: :imap çç <Esc> :imapç 我确实可以工作。但是当我试图将它设置为默认值,并将其放入我的_vimrc文件中时: imap çç <ESC> imapç 我不工作。它没有给我错误,但不工作。每封信都工作,但似乎特别是字母ç

这里有一个奇怪的问题:我试图避免使用Esc键退出插入模式。我偶然发现了这篇文章:我喜欢以下解决方案:

" Two letters.
:imap çç <Esc>
“两个字母。
:imapç
在gVim I类型中时:

:imap çç <Esc>
:imapç
我确实可以工作。但是当我试图将它设置为默认值,并将其放入我的_vimrc文件中时:

imap çç <ESC>
imapç
我不工作。它没有给我错误,但不工作。每封信都工作,但似乎特别是字母
ç
不工作。

你可以写:

au VimEnter * imap çç <ESC>

您还可以查看有关
autocmd

的帮助,请尝试使用以下工具:

  • scriptencoding utf-8
    set encoding=utf-8
    
    在vimrc的最开始

  • 确保vimrc本身保存在UTF-8中

  • 它对我不起作用。即使它起作用了,我也不确定,因为我几乎所有的文件都是拉丁-1编码的。我不知道这是否有什么关系。奇怪的是,Slavchev的解决方案只有在我删除了你要我添加的那两行之后才起作用。但我很确定它不起作用,因为我没有弄好。谢谢taki感谢您!您应该还有另一个问题:所有拉丁文重音字符都与
    相同(来自7位终端的问候)。如果它被重新映射到某个插件中,那么无论编码是什么,它在vimrc中都无法工作,猜测干扰映射是相当困难的。我假设你的问题是编码。@DimitarSlavchev假设你的问题是干扰映射(或者至少,我假设他这样做了):VimEnter事件是在加载所有插件后触发的。我还安装了all-UTF-8(除了一些文件,它们并不重要)。我可能忘记了一些东西,因为:'encoding','termencoding'(实际上是空的,但它使用'encoding')终端实际发送给vim的都是我系统上的UTF-8。也许这就是问题所在:如果终端在“编码”中发送与字符串不同的内容,那么你也必须调整“termencoding”。在这里谈论终端是因为所有GUI都知道编码,要么忽略“termencoding”,要么强制它为常量。@ZyX我假设没什么。事实上,我第一次想到imap在。vimrc中不起作用,然后我意识到我错了。我很高兴它起作用了。
    scriptencoding utf-8
    set encoding=utf-8