VSCode 的 Vim 插入符号位置在一个词之后而不是之前
Caret position with VSCode's Vim going after a word and not before
我刚刚从 VSCode 下载了 Vim 扩展程序,我遇到了一个简单但很烦人的问题(可能与我仍在入门的事实有关)。
Lorem ipsum dolor sit amet.
^
我将插入符号放在第一个字符 L
上,然后按 e
转到 Lorem
的末尾。 (用例添加一些东西添加行尾)。
如果我然后按 i
进入插入模式,我的插入符会在 Lorem
的 m
之前而不是之后。这很烦人,因为我不能轻易地在行尾添加文本。
我用的 Vim 对吗?
感谢您的澄清!
是的,这是 i
的正确行为,它用于在光标 之前 插入文本。如果要在光标 之后插入文本 ,正确的命令是 a
。如果要在光标处插入文本,正确的命令是s
.
Am I using Vim right ?
您根本没有使用 Vim,这至少部分解释了为什么您对非常正常和预期的行为感到恼火。
在常规 editors/IDEs 中使用 Vim 模拟器学习 Vim 是一个坏主意,原因有以下几个:
他们不是 Vim,所以他们的行为肯定会以某种方式偏离 Vim。他们可能会错过 Vim 功能,或者对添加什么以及如何实现它有自己的看法等等。所有这些都会导致混乱。
它们都以略微不同的方式实现了略有不同的 Vim 子集,因此在一个 IDE 中使用一个 Vim 模拟器,在另一个 IDE 中使用另一个 IDE =] 不会给你同样的体验。
当它们被认为比 Vim 更方便时,它们往往会退回到宿主自身的功能,这将不可避免地产生错误的期望,一方面,隐藏真正有用的Vim 个功能。
它们在设计时主要考虑了实际的 Vim 用户,作为一种轻松过渡到任何主机 editor/IDE 的方式。您不是 Vim 用户,因此您不属于目标人群。
Vim 是野兽。为了有效地使用它,有很多很多东西你必须忘记,还有很多东西你必须学习。值得庆幸的是,Vim 附带了一个令人难以置信的内置文档,包括一个非常详尽和温和的迭代教程,:help user-manual
将毫不费力地将您从菜鸟带到专业人士。 Vim 模拟器没有任何类似的东西,因此用户只能使用自己的设备,尝试他们在网上找到的随机东西,建立错误的假设等等。
举个例子,VSCodeVim 没有 :help
,在 Vim 中可以用来查看 [=10 的情况=].
在 Vim 中学习 Vim 是唯一有意义的策略。
这是一个建议的方法:
- 如果您还没有,请根据需要多次
$ vimtutor
以掌握正确的基础知识。
- 按照vimtutor最后的提示,升级到用户手册
:help user-manual
。它将指导您逐步完成 每个 功能,从基本到高级。这不是小说,按照你自己的节奏,跳过章节,稍后再回来看,最重要的是,一路尝试。
- 关注反模式和低效行为,寻找改进,实践。冲洗。重复。
我刚刚从 VSCode 下载了 Vim 扩展程序,我遇到了一个简单但很烦人的问题(可能与我仍在入门的事实有关)。
Lorem ipsum dolor sit amet.
^
我将插入符号放在第一个字符 L
上,然后按 e
转到 Lorem
的末尾。 (用例添加一些东西添加行尾)。
如果我然后按 i
进入插入模式,我的插入符会在 Lorem
的 m
之前而不是之后。这很烦人,因为我不能轻易地在行尾添加文本。
我用的 Vim 对吗?
感谢您的澄清!
是的,这是 i
的正确行为,它用于在光标 之前 插入文本。如果要在光标 之后插入文本 ,正确的命令是 a
。如果要在光标处插入文本,正确的命令是s
.
Am I using Vim right ?
您根本没有使用 Vim,这至少部分解释了为什么您对非常正常和预期的行为感到恼火。
在常规 editors/IDEs 中使用 Vim 模拟器学习 Vim 是一个坏主意,原因有以下几个:
他们不是 Vim,所以他们的行为肯定会以某种方式偏离 Vim。他们可能会错过 Vim 功能,或者对添加什么以及如何实现它有自己的看法等等。所有这些都会导致混乱。
它们都以略微不同的方式实现了略有不同的 Vim 子集,因此在一个 IDE 中使用一个 Vim 模拟器,在另一个 IDE 中使用另一个 IDE =] 不会给你同样的体验。
当它们被认为比 Vim 更方便时,它们往往会退回到宿主自身的功能,这将不可避免地产生错误的期望,一方面,隐藏真正有用的Vim 个功能。
它们在设计时主要考虑了实际的 Vim 用户,作为一种轻松过渡到任何主机 editor/IDE 的方式。您不是 Vim 用户,因此您不属于目标人群。
Vim 是野兽。为了有效地使用它,有很多很多东西你必须忘记,还有很多东西你必须学习。值得庆幸的是,Vim 附带了一个令人难以置信的内置文档,包括一个非常详尽和温和的迭代教程,
:help user-manual
将毫不费力地将您从菜鸟带到专业人士。 Vim 模拟器没有任何类似的东西,因此用户只能使用自己的设备,尝试他们在网上找到的随机东西,建立错误的假设等等。举个例子,VSCodeVim 没有
:help
,在 Vim 中可以用来查看 [=10 的情况=].在 Vim 中学习 Vim 是唯一有意义的策略。
这是一个建议的方法:
- 如果您还没有,请根据需要多次
$ vimtutor
以掌握正确的基础知识。 - 按照vimtutor最后的提示,升级到用户手册
:help user-manual
。它将指导您逐步完成 每个 功能,从基本到高级。这不是小说,按照你自己的节奏,跳过章节,稍后再回来看,最重要的是,一路尝试。 - 关注反模式和低效行为,寻找改进,实践。冲洗。重复。