![](/img/trans.png)
[英]Simple vim function from visual mode to toggle comments (learning exercise)
[英]What are ways to reduce mode errors while learning vim?
我经常在使用vim时出现模式错误,即我将在正常模式下开始键入文本,或者在插入模式下开始键入命令。 我明白,随着时间的推移,随着时间的推移,vim的怪癖会渗入你的骨头,但有没有办法加快这个过程?
在插入模式下,我使用这些autocmd来突出显示包含光标的整行,而不是在正常模式下:
if v:version >= 700
autocmd InsertEnter * set cursorline
autocmd InsertLeave * set nocursorline
endif
这提供了关于模式的更多视觉反馈。
如果尚未执行此操作,则可以使用:set showmode
显示当前模式:set showmode
。 在插入模式下,状态栏中会显示-- INSERT --
。
尽量记住始终将vim置于正常模式。
切换“Esc”和“Caps Lock”键。
如果您不小心点击“大写锁定”,您将开始输入与您喜欢的操作无关的命令。 如果您是一位经验丰富的用户,这很烦人; 如果你是初学者,那么理解出了什么问题可能会很麻烦。
每当你需要按Esc键时,你必须移动整个手,让你的小手指触摸Esc键,然后再次更换整个手。 一些Vim用户会告诉你,过了一段时间你就习惯了这样做,这不是什么大问题。 我认为这个论点不足,因为你几乎可以习惯在任何地方映射任何键。 这是一个效率问题。
我相信“Esc”经常被使用,如果它被使用,很少使用“Caps Lock”。
因此,切换两者是有意义的,因为它可以防止错误并提高打字速度。
使用gvim,当在模式之间移动时,光标从块变为垂直条。 这至少给你一点视觉反馈。
插入模式应该只是临时的。 正如其名称所示,正常模式是编辑任务的最爱模式。
通常,您应该在正常模式下花费更多时间,并在插入内容时始终按ESC。
也许我只为自己说话,但现在我习惯于假设我一直处于正常模式,而且我几乎从不错。
这是我对Ned的答案的变种。 它在窗口开关上切换(窗口焦点是另一种提供很少视觉反馈的模态行为)。
if v:version >= 700
set cursorline cursorcolumn
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
au InsertEnter * set nocursorline nocursorcolumn
au InsertLeave * set cursorline cursorcolumn
endif
我使用它与zenburn颜色方案,我也关闭光标闪烁:
if has("gui_running")
colorscheme zenburn
set guicursor+=a:blinkon0
endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.