vim - 解决 vim 缺少 "insert one char"命令的正确用法是什么?

标签 vim insert

这对 SO 来说可能不是一个好问题,但它已经困扰我很多年了,而 Google 也不知道,所以让我们试一试,因为它确实影响了我的编程工作每周:

我经常发现自己缺少一个字符,例如“=”而不是“==”、缺少空格、用引号/括号包围某些内容等。

那么,为什么vim没有合适的命令来插入单个字符?我的意思是,支持计数和重复 . .

我缺少的基本原理是什么,以及正确的使用模式是什么,这使得这个功能变得不必要?我似乎一直需要它,所以一定有某种原因它还没有被添加到原来的vi中。

我知道添加一个简单的基本键绑定(bind),例如 :nmap <Space> i_<Esc>r很简单,但是当在新环境中进行快速编辑时,这相当不方便,而且这个简单的版本无论如何都不能正常工作。

PS。如果实际上存在一个默认绑定(bind),可以通过总共两次击键仅插入一个字符并保持在命令模式,类似于 r为了用两次击键替换一个字符,我 promise 对第一个告诉我它是什么的答案给予 100 的赏金。

最佳答案

对我来说,i Esc(没有修饰键的 3 次击键)非常短且内置。您已经发现了可以将击键次数减少到两次的自定义映射;我也从您的开始,随着时间的推移,它变得更加先进,以满足我的需求,并添加了映射变体以在光标位置或之后插入单个空格。

据推测,没有内置命令,因为键空间(尤其是单个未移位的键)非常有限,这个命令不能证明这样的素数空间以及任何多键替代方案(就像以 g 开头的 Vim 一样)在效率方面毫无值(value)。

关于vim - 解决 vim 缺少 "insert one char"命令的正确用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15132469/

相关文章:

vim - 我怎样才能让 Vim 打开 `--remote-silent` 中的文件而不在运行 `vim` 时出现错误?

sql - 你能在一个语句中访问 MySQL 中的自动增量值吗?

mysql - 从其他表中插入一些值

c - 我如何配置 Vim 以在 Windows 上使用 Borland 的编译器编译 C 代码?

shell - 让 vim 将当前文件路径传递给我的 shell

regex - 如何阅读此命令以删除行末的所有空格

vim - 如何设置vim高亮ColorColumn指南透明度?

php - 从数据库中检索当前用户 ID 以在新表中使用

python-pptx:如何重新定位图片占位符?

php - Mysql插入,如果唯一键上有重复值,则插入不同的值