Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【问题】安装 YCM 后,部分系统上使用 ESC 键从插入模式返回正常模式有延迟。 #29

Open
mengxinayan opened this issue Jun 5, 2020 · 4 comments

Comments

@mengxinayan
Copy link

如题,具体表现为按下 ESC 键,大约需等待 1 秒左右的时间,此时可以正常插入,但会停止退出正常模式。此外,可以通过连按两次 ESC 键来立即切换回普通模式。

这个问题在 Ubuntu 18.04 上并不会出现,而在 openSUSE 15 上会出现。vim 使用的是系统软件源的vim。

初学 vim ,还不是很懂。希望大神可以抽空解答一下,谢谢!

@skywind3000
Copy link
Owner

set ttimeout ttimeoutlen=100

然后要确保你没有 map 过 ESC 这个键

@mengxinayan
Copy link
Author

谢谢指教,我查看了项目。在 ./init/init-basic.vim 中,已经有了对功能键超时的检测。

" 打开功能键超时检测(终端下功能键为一串 ESC 开头的字符串)
set ttimeout

" 功能键超时检测 50 毫秒
set ttimeoutlen=50

同时,我并没有修改过 ./init/init-keymaps.vim 文件,我所进行的修改在配色插件和tab的配置上。

经过我的测试发现,修改 ttimeoutlen 配置的时间,好像对延迟时间并没有明显改变

我再想有没有可能因为 vim 的某些实现与 YCM 有联系而带来的问题。因为我发现两个发行版在的vim 有区别,在 vim -v 命令的输出结果中,ubuntu 18 显示的信息中多了下面一行文字。

Modified by [email protected]

上面是个人看法,还望大神多多指教!

@mengxinayan
Copy link
Author

我用 PlugUpdate 升级了一下插件,已经极大地缓解了延迟情况。

升级插件后,通过为 ttimeoutlen 设置成不同的值后,可以感觉到有差异。如:ttimeoutlen 设置成 100、200、300、500 时,可以感觉到有差异。而当设置成小于 100 时,如:20、50、80 等,很难感觉到差异(也有可能是因为我的感知能力比较差)。但是 ttimeoutlen 设置为0时,仍然存在延迟,并且我个人感觉和设置成 50 差别不大。

@skywind3000
Copy link
Owner

那你就二分法检查你的插件呗,屏蔽一半看看

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants