vim-在插入模式下不使用箭头键移动光标
我试着养成经常被推荐的习惯,不使用箭头键,只使用hjkl键。现在我经常发现自己处于以下情况。我刚打过字vim-在插入模式下不使用箭头键移动光标,vim,Vim,我试着养成经常被推荐的习惯,不使用箭头键,只使用hjkl键。现在我经常发现自己处于以下情况。我刚打过字 someFunction() 光标处于插入模式,介于(和)之间。接下来我只需要键入 someFunction(); 然后按esc键完成。按向右箭头键可能是最容易的,但开始感到尴尬,完成动作需要太多时间。此外,有些人禁用箭头键,养成了不使用箭头键的习惯。在这种情况下,是否有比按esc键和shift-A键更快的动作,或者右箭头键最快?我认为Control ol(小写L)比escshift-A键
someFunction()
光标处于插入模式,介于(
和)
之间。接下来我只需要键入代码>
someFunction();
然后按esc键完成。按向右箭头键可能是最容易的,但开始感到尴尬,完成动作需要太多时间。此外,有些人禁用箭头键,养成了不使用箭头键的习惯。在这种情况下,是否有比按esc键和shift-A键更快的动作,或者右箭头键最快?我认为Control ol(小写L)比escshift-A键和右箭头键更快。Control-o允许您从插入模式执行一次正常模式按键。为什么您的光标会在(
和)
之间?如果您键入它,它不应该在)
之后吗
如果它是通过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
f1 f1 f1 f1
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()4
foo()5
foo();6;6 A 6 l 6
; 7 ; 7
在这种情况下,您描述的绝对最快的方法是在插入模式下发现
键。此方法与Vim方法相反,并破坏了以下Vim功能:
- 重做或使用
命令。我发现通常最好更改您的工作流,以确保
命令正常工作。(请参阅
):h.
- Vim有一个chunky undo,因为它的模式。这意味着每个chunk通常是一个操作,使得在undo状态之间的导航更加容易。在许多情况下,使用
会破坏undo
- 学会爱
- 插入模式用于短突发文本
- 正常模式称为正常模式,因为这是您通常处于的模式
- 如果这是一个常见的问题,那么做一个映射或缩写
- Tim Pope的插件或某种自动配对插件可能有助于使用括号
- 与Vim合作而不是对抗它。又名:
imap ;; <Esc>A;
map ;; A;<Esc>
imap;;A;
地图;
很好的建议。在我的例子中,应该是ctrl-o和a,而不是i,l
(参见括号中的这是小写的l
)l
向右移动一个字符。这是值得思考的。我喜欢所呈现的事实。我会尝试去感受它在实践中的效果。我得到了一些好的建议。我选择这一个是因为它看起来最简单,但也会尝试其他人去感受它并了解更多。