我必须在IDE中添加VIM个性。我从未使用过VIM而不是最基本的编辑,现在我对命令结构的复杂性感到不知所措。
计数移动和插入/删除命令的组合是否有任何整体结构? 我只是看不到树木。
答案 0 :(得分:17)
嗯,显然有一个手指位置模式 h , j , k , l 。
^ 到达行的开头并且 $ 到达结尾的事实是基于常见的正则表达式语法。
向前和向后Ctrl-F 和 Ctrl-B 页面,这非常直观。
i 插入(之前)和 a 追加(在光标之后)。同样,
I 插入行的开头, A 附加在最后。
> 和< 分别缩进和缩进。这也很直观。
但总的来说,许多其他命令都在左边的任何键上 - 很难找到字母表字母和编辑命令之间的直观映射。
重复计数总是在命令之前输入,并且大多数时间重复执行该命令,但在某些情况下会做一些聪明但类似的事情。
我认为不要对vi
疯狂的秘诀就是从一小撮命令开始。我有很多同事除了
因为我更聪明,我知道并使用的附加命令是:
当您有机会使用其他命令时,您可以根据需要逐个教给他们。
答案 1 :(得分:10)
This is a good article用于解释VIM哲学。
答案 2 :(得分:2)
我认为,与其他编辑器相比,更好地定义VIM的特性是其广泛的运动命令。要学会充分利用VIM,首先要尽可能少地使用箭头键,并在文本中用“块”来表示,如“一个句子”,“一个标签”,“一个词”,“一组括号”。
假设你有function foo($bar, $fooz)
你可以通过简单地将光标定位在括号内的任何位置并按ci)
(助记符:更改内括号)来更改参数。相同的模式适用于其他命令:yank(y
),delete(d
)等等。
我知道这并不能解释整个“VIM哲学”,但将正常模式命令与大量运动修改器结合起来才能真正让我看到光。
答案 3 :(得分:0)
有很多有趣且有趣的教程。一个例子是
http://blog.interlinked.org/tutorials/vim_tutorial.html
但是他们大多数人会给你的广泛结构是
命令可以帮助您实现各种各样的事情 删除行 - dd yanking(复制行) - yy 粘贴当前行下方的行 - p 粘贴当前行上方的行 - P(依此类推)
命令模式下的大多数命令都可以通过“count”预先固定,以指示命令必须执行的次数。例如,3dd将删除三行。
命令模式下的一组命令可让您切换到插入模式。这将在下面解释。
从命令模式进入插入模式有多种方法。其中突出的是(i-插入光标,I-插入行的开头,o-插入一行,O-插入一行,a-append,A-append at line。
< / LI> 醇>的快速参考
http://www.andy-roberts.net/misc/vim/vim.pdf
将帮助您了解“计数”的相关性