我正在尝试养成不使用箭头键而只使用hjkl键的良好习惯,但我经常发现自己处于以下情况。我刚刚输入了
someFunction()
当光标在 (
和 )
之间处于插入模式时,接下来我只需要输入 ;
someFunction();
按下 esc 键结束操作。按右箭头键可能是最简单的方法,但开始感觉笨拙并且需要太多时间来完成该操作。此外,有些人禁用箭头键以养成不使用它们的习惯。在这种情况下,有比按下 esc 和 shift-A 更快的方法吗?
我正在尝试养成不使用箭头键而只使用hjkl键的良好习惯,但我经常发现自己处于以下情况。我刚刚输入了
someFunction()
当光标在 (
和 )
之间处于插入模式时,接下来我只需要输入 ;
someFunction();
按下 esc 键结束操作。按右箭头键可能是最简单的方法,但开始感觉笨拙并且需要太多时间来完成该操作。此外,有些人禁用箭头键以养成不使用它们的习惯。在这种情况下,有比按下 esc 和 shift-A 更快的方法吗?
我认为 Control-oa 比 escshift-A 和右箭头键更快。 通过 Control-o,您可以在插入模式下执行一个正常模式按键。
(
和 )
之间?如果你已经输入了右括号,它不应该在右括号后面吗?)
即使插件已经为你自动完成。插件会察觉到你正在关闭括号对,并将你的光标移动到自动关闭的右括号 )
后面。<right>
键。但这种方法违反了 Vim 的方式,并破坏了以下 Vim 的特性:.
命令。我发现通常最好改变你的工作流程以确保.
命令能够正常使用。(参见:h .
)
- 由于其模式,Vim 有一个粗略的撤消。这意味着每个块通常是一个动作,并使撤消状态之间的导航变得更加容易。在许多情况下,使用<right>
将破坏撤消。<esc>
- 插入模式适用于短暂的文本
- 正常模式被称为正常模式,因为这是你通常所处的模式
- 你对 Vim 的问题在于你不理解 vi。
- 如果这是一个常见的问题,则可以创建映射或缩写
- Tim Pope 的 Surround.vim 插件或某种自动配对插件可能有助于括号匹配
- 与 Vim 搭配使用,而不是反对它。也就是说:磨练技能
f 1 f 1 f 1 f 1
fo 2 fo 2 fo 2 fo 2
foo 3 foo 3 foo 3 foo 3
foo( 4 foo() 4 foo() 4 foo() 4
foo() 5 <right> 5 <Esc> 5 <C-o> 5
foo(); 6 ; 6 A 6 l 6
; 7 ; 7
说到行末的分号问题...可能会有人讨厌我,但我还是要说:
imap ;; <Esc>A;
map ;; A;<Esc>