禁用 esc 键超时

2024-01-01

Problem

I am in insert mode, and then I might type a number, and then quickly ESC, because I stopped typing so it will change to visual mode. What happens then, is that the cursor jumps, and not only that, the number on the line that I was (and I just typed) is decremented. This thing is a nightmare!

是什么原因造成的?

这是某种默认行为吗?如果是这样,我该如何禁用它? 这可能是一个插件导致的吗?因为我并不总是有这个“功能”。 我花了几个月的时间试图找出导致此问题的原因,并且我已经发布了此内容一般问题 https://stackoverflow.com/questions/43777178/vim-find-history-of-recently-used-shortcuts.

特别是在编程时,数字自动递减会引起很多麻烦,所以我禁用了它的默认映射,通过映射<C-a> <Nop> in my .vimrc;更多信息here https://stackoverflow.com/questions/36601789/disable-for-good-vims-number-increment-that-is-mapped-to-ctrl-a.


您的问题似乎与'timeout'选项及其朋友'timeoutlen', 'ttimeout', 'ttimeoutlen'.

尝试这个命令:

:set timeout timeoutlen=3000 ttimeoutlen=100

它取自:h 'ttm:

仅当“timeout”和“ttimeout”选项时才会发生超时 这么说吧。一个有用的设置是:set timeout timeoutlen=3000 ttimeoutlen=100(三秒后映射超时,超时 十分之一秒后的按键代码)。


就我个人而言,我使用这些设置:

set timeout
set ttimeout
set timeoutlen=3000
set ttimeoutlen=50

前 2 个命令分别启用映射和键码超时。

第三条命令set timeoutlen=3000告诉 Vim 等待3s让我完成映射左侧的输入。

第四条命令set ttimeoutlen=50告诉 Vim 只需要等待50ms完成一系列键码。例如,在我的机器上,F1产生键码序列Escape O P(通过输入确认C-v F1在插入模式下,显示^[OP; ^[代表Escape).

您最初的问题可能来自于您的价值这一事实'ttimeoutlen'选项太高,因此一系列键码的超时不会很快发生,这使得 Vim 有时会将您键入的一系列击键解释为由您未按下的其他键产生的。通过降低其值,您可以防止这种情况发生。


如果即使您在中设置了之前的选项,问题仍然存在vimrc,之后插件可能会更改它们。

在这种情况下,当您的问题再次出现时,请键入以下命令:

:verb set timeout?
:verb set ttimeout?
:verb set timeoutlen?
:verb set ttimeoutlen?

它们中的每一个都会告诉您选项的当前值,但更重要的是它会告诉您更改该值的最后一个文件的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

禁用 esc 键超时 的相关文章

  • vim e518:未知选项:

    我在 UNIX 系统上有一个文本文件 以下文本文件内容会产生问题 good ok line vi bad line ok ok line 所以如果我运行 vim test txt 我收到以下错误 test txt 3L 39C Error
  • Vim 状态栏预测/完成?

    昨天我玩了一些 vim 脚本 并设法对我目前正在输入的内容进行一些超出状态栏的预测 通过循环 请参阅屏幕截图 灰色 黄色条 问题是 我不记得我是如何得到它或找到我用于 vim 魔法的代码片段 我记得它非常简单 它要么是文档中的示例 要么是我
  • 使用 Visual Studio 2012 将键盘快捷键附加到解决方案资源管理器中的“折叠所有”项目

    就像我在这个问题的标题中所说的那样 是否可以附加键盘快捷键来使用 Visual Studio 2012 折叠解决方案资源管理器中的所有项目 在以前的版本中 2010 年 我能够创建一个宏来启用此功能 但在 Visual Studio 201
  • VIM:可用的快捷方式?

    我在 vim 中使用了许多快捷方式 其他快捷方式由插件使用 有时我想为新命令添加快捷方式 但事后请注意该快捷方式已被使用 有没有办法查看 VIM 中所有可用快捷键的列表 所有 ctrl shift alt 快捷键 Type help ind
  • gvim中的鼠标输入

    标准鼠标输入可以在 vim 中自定义吗 在我的例子中是 vim 插件也是可以接受的选择 我特别感兴趣的是 覆盖 双击某个单词 这样 gvim 就不仅仅是突出显示该单词 而是进行搜索 从而突出显示文件中该单词的所有实例 我在其他编辑器中看到过
  • 为什么在 Vim 的插入模式下粘贴长一行非常慢?

    昨天 当我尝试将 1200 行 每行 80 个字符 粘贴到 Vim 时 我的 Macbook 被卡住了 下载文件而不是粘贴文本要快得多 我认为这个问题可能是互联网运营商允许上传速度比下载速度慢的原因 如果您将其粘贴到终端窗口中 Vim 会认
  • git commit 保存 vim 文件时出错

    我正在遵循简单的 git 指南nettuts 简易 git 指南 http net tutsplus com tutorials other easy version control with git 我在我的中初始化了一个空的 git 实
  • Vim 重复点(“.”)命令缓冲区?

    我真的很喜欢 YankRing 的行为 它让我可以访问我最近完成的几件事y固定或d已删除或c不假思索地被吊死了 然而 这样的补充功能对于 重复命令 最常见的是当我键入我真正想重复的内容时 然后按x清理一些东西 通常 可以通过视觉模式拉动我刚
  • 有没有[转到文件...]?

    在现代 IDE 中 有一个键盘快捷键可以通过键入文件名来打开文件 而无需将手放在鼠标上 例如 Eclipse Cmd Ctrl Shift R gt Open Resource IntelliJ Cmd Ctrl Shift N gt Op
  • 强制 vim 覆盖外部更改

    我使用 Vim 7 4 Mac OS 编辑和运行 Lua 脚本 我已经在 vimrc 中映射了一个键来保存当前缓冲区并运行外部脚本 vimrc 中的按键映射 map V w
  • Vim 与 tmux 相得益彰

    NERDTree 在 tmux 会话中出现问题 如图所示 当窗口被分割时也存在同样的问题 但现在我正在使用电源线 https github com Lokaltog powerline这次 Vim 状态在 tmux 中变得混乱 在图中看到状
  • Vim 中最近的文件历史记录?

    我想访问最近在 GVim 中打开然后关闭的文件 我经常打开和关闭 GVim 我也想访问以前会话中的最新文件 GVim 是否将最近的文件存储在 Word 和许多其他桌面应用程序存储的位置 如何访问它们 至少终端 vim 将前十个文件存储到 v
  • 如何使用 VIM 进行 .Net 开发 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 按文件类型设置 Vim 空白首选项

    在我的工作中 我需要遵循房屋风格进行缩进 如下所示 编码 html 和 ruby 时有 2 个空格 编码 javascript 时使用制表符 建议使用 tabwidth 4 为每个文件类型指定不同的空白首选项的最佳方法是什么 方法有很多 但
  • vim 中的语法高亮

    当我在 vim 中打开语法颜色时 我无法在黑色上阅读深蓝色 如何更改一些默认颜色或模式颜色 例如 http www vim org scripts script php script id 1571 http www vim org scr
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • Vim 插入模式下光标线颜色变化

    有一个很好的片段可以改变光标颜色 if term xterm rxvt use an orange cursor in insert mode let t SI
  • C# - 使用 Vim 作为主编辑器 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已经喝了酷乐了 Vim 优雅美丽 我必须学习如何使用它并配置它以拥有一个出色的编译器 这是最好的学习方式 问题是 我从哪里开始 是否有一个很好的教程
  • 如何成功使用 VIM 作为 Code::Blocks 的外部编辑器?

    我真的很喜欢 Code Blocks 的构建系统和单步调试能力 也就是说 我真的很喜欢使用 gcc gdb 的包装器 而不是从 Makefile 或命令行使用它们 问题是 多年来使用 VIM 使我的大脑受到了严重损伤 或者有些人可能会说被宠
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例

随机推荐

  • 给定 RNG 算法和一系列数字,是否可以确定哪个种子会产生该系列?

    代码是用 Objective C 写的 但即使你不了解 Objective C 如果你仔细看一下它应该是可以理解的 基本上它是一个 RNG 对象 你实例化一个新实例 如果需要的话设置种子并开始抓取随机数 那么是否可以回溯给定的一系列数字来确
  • css & html:隐藏边框的一角[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下用户界面 我只想隐藏三种颜色的 div 的一角 它应该看起来像这样 任何人都可以知道如何隐藏 div 边框的角 这是我要求的代
  • 错误 2003 (HY000):无法连接到 AWS RDS 上的 MySQL 服务器

    我创建了一个具有 主机名的外部用户以允许远程访问 将本地 MySQL 连接到远程 AWS RDS 时出现以下错误 错误 2003 HY000 无法连接到 instance cvxqy8tbi2bk us east 1 rds amazona
  • Android XML 解析省略“&”

    问题又是 虽然我在代码中成功实现了 SAX 解析器 但它的行为很奇怪 它只是跳过 之后的条目并转到下一个条目 只是想知道这是否是 SAX 解析器的典型工作方式还是我错误地实现了它 我已经实现了 org xml sax ContentHand
  • 如何使用 HttpWebRequest 获得文件并行

    我正在尝试制作一个像 IDM 这样的程序 它可以同时下载文件的部分内容 我用来实现此目的的工具是 C Net4 5 中的 TPL但是我在使用的时候遇到了问题Tasks使操作并行 序列功能运行良好 并且正在正确下载文件 使用任务的并行函数一直
  • 世博会在生产构建中找不到“主要”应用程序?

    几周前我一直在尝试修复这个错误 但没有成功 问题是我因此无法发布我的应用程序 当我为 iOS 或 Android 中的任何一个构建 expo 应用程序时 Expo CLI 签名过程进展顺利 没有错误并生成最终捆绑包 但是当我将 spa 或
  • 如何找到给定范围内的所有素数?

    def all primes start end list primes for i in range start end for a in range 2 i if i a 0 list primes append i return li
  • 拉取存储库时 X509 解析错误,“负序列号”

    我们的服务器通过代理访问互联网 当我尝试运行诸如之类的拉取命令时 sudo docker run t i ubuntu 14 04 bin bash 我收到以下错误 Get https index docker io v1 reposito
  • IE 100% CPU 挂起/获取堆栈跟踪

    我遇到过 IE7 挂起访问我的网络应用程序的情况 立足于优秀建议 https stackoverflow com questions 574423 ie hanging using 100 of the cpu 574595 574595
  • 如何将 UISegmentedControl 放在 NavigationController 下?

    我想知道让 UISegmentedControl 出现在 navigationController 下方的最佳方法是什么 就像在 AppStore 应用程序中一样 我要放入不同视图中的内容是 UITableView 就像 AppStore
  • 在 NSPredicate 中组合两个条件

    如何将两个条件结合起来NSPredicate 我正在使用以下语句 我想添加另一个条件 使用以下命令将密码与文本字段的内容进行比较AND request predicate NSPredicate format username txtUse
  • argv 可以在运行时更改(不能由应用程序本身更改)

    我想知道可以输入参数main 在运行时更改 换句话说 我们是否应该保护应用程序免受可能的影响TOCTTOU https en wikipedia org wiki Time of check to time of use处理数据时的攻击ar
  • JavaScript 是否通过引用传递? [复制]

    这个问题在这里已经有答案了 JavaScript 是按引用传递还是按值传递 这是一个例子JavaScript 好的部分 https en wikipedia org wiki Douglas Crockford Bibliography 我
  • 从存储过程返回单个值到 .Net 哪个更好:OUTPUT 参数或 ExecuteScalar?

    我需要创建一个需要返回一些记录计数的存储过程 我正在使用 Net 来读取结果 我可以使用OUTPUT参数返回值or我可以做一个select count 在存储过程中并使用SqlCommand ExecuteScalar http msdn
  • 将对象类型的数据帧列转换为浮点型[重复]

    这个问题在这里已经有答案了 我想将我的数据帧的所有非浮点类型列转换为浮点 有什么方法可以做到这一点 如果我能在 One Go 中做到这一点那就太好了 下面是类型 longitude float64 latitude float64 hous
  • Jquery 确认不起作用

    我试过这个 https stackoverflow com a 12617274 4164311 https stackoverflow com a 12617274 4164311 字符串 您确定吗 仅出现在我的浏览器中 当我单击该按钮时
  • 如何在phpmyadmin中导入表?我收到文件大小错误

    我想在 phpmyadmin 中导入数据库 但出现这样的错误 未收到要导入的数据 没有提交文件名 或者文件大小超出了 PHP 配置允许的最大大小 我的文件大小是 4 8 mb 请给我解决方案 按着这些次序 转到 PHP 文件夹 gt 搜索
  • HTTP 基本身份验证和 OAuth 2.0 相同吗?

    供应商 API 文档之一提到他们的 API 调用需要使用 HTTP 基本身份验证方案 即用户 密码 Base64 编码 但是他们的令牌 API 相当于登录 文档提到 此服务实现了 OAuth 2 0 资源所有者密码和凭据授予 HTTP 基本
  • 如何测试一个块是否被屈服?

    我有一个测试需要检查是否正在调用给定方法的块 block lambda some stuff block should receive call get data with timeout 1 block def get data with
  • 禁用 esc 键超时

    Problem I am in insert mode and then I might type a number and then quickly ESC because I stopped typing so it will chan