【发布时间】:2014-07-28 10:10:52
【问题描述】:
使用 Vim,我想在插入模式下有效地删除文本。我可以使用 Backspace 或者我可以使用 CTRL+h。这是什么意思?我应该停止使用 Backspace 并且只使用 CTRL+h 来有效地编辑吗?如果是,那么我应该在我的 .vimrc 中禁用 Backspace 吗(就像我对箭头键所做的那样)?
谢谢。
【问题讨论】:
标签: vim text-editor vi
使用 Vim,我想在插入模式下有效地删除文本。我可以使用 Backspace 或者我可以使用 CTRL+h。这是什么意思?我应该停止使用 Backspace 并且只使用 CTRL+h 来有效地编辑吗?如果是,那么我应该在我的 .vimrc 中禁用 Backspace 吗(就像我对箭头键所做的那样)?
谢谢。
【问题讨论】:
标签: vim text-editor vi
Vim 是一个模态编辑器。这意味着为正确的任务使用正确的模式是有好处的。
一般经验法则:
<c-w>)d 的动作或 c 的动作。:g/foo/d
要记住的几件事:
. 命令使您的更改正常工作通常是一种很好的做法。例如使用 daw、> 或 ciw 并通过 . 重复更改
【讨论】:
您始终可以使用Ctrl-o 执行单个正常模式命令。例如,如果您开始一个句子,并决定要删除它并重新开始,您可以在插入模式下输入Ctrl-o d(。
老实说,我已经使用 vim 至少 5 年了,我从来没有觉得有必要这样做。我认为 vim 的关键技巧是让进入普通模式变得非常容易。老实说,Esc 有点痛苦,在大多数键盘中都相当遥远。我将 Capslock 重新映射到 Ctrl 以帮助解决这个问题。这使得Ctrl-[ 快捷方式很容易进入正常模式。您还可以使用inoremap kj <Esc> 使进入 kj 离开插入模式(您在打字时很少输入 kj,即使使用代码也是如此)。
最终的解决方案是将 Capslock 重新映射到 Escape。虽然我发现在许多其他程序中将 Capslock 映射到 Ctrl 更有用,因此绑定通常更有用。
【讨论】:
不,在我看来,如果你犯了一个错误,与按 CTRL-h 相比,简单地按一两次退格键非常容易(并且有效)。这里有一些其他的插入模式快捷键http://usevim.com/2012/12/14/vim-101-insert-mode-shortcuts/,例如 CTRL-w,它会删除光标前的单词。不使用箭头键更效率更高,因为没有浪费时间来回移动你的手。退格似乎不是这种情况,因为对于相同的结果,替代方案更复杂(两键组合对一键)。
见:help ins-special-keys
免责声明:6 个月 Vim 用户
【讨论】: