鸟多了什么林子都有,或者只是一个说话有点机油味的国人在屏幕后面呢
我知道的vim用户都没见过用emacs的。vim用户比emacs用户多不止一两个量级。
我宁可接受你的这个“机油味”的评价。
什么鬼?我学的中文学得很不好吗?
没有很不好, 基本意思的传达是完全没问题的, 只是表达的方式很不口语化, 兄弟, 哈哈哈
比如, 你说的这句话:
我个人会习惯说 我对我自己很无语
, 我日, 我tm傻逼了
类似这样的表达, 哈哈哈.
你在 Evil 模式下尝试 yap
(即以 y
yank 为操作符 (operator),ap
为文本对象 (text objects),复制整个段落),然后对比 Vim 中执行 yap
的情况,便会发现两者在光标移动上的区别。
在 Vim 中,任何操作符(Operator)在选定文本对象(Text Object)后,都会将光标移动至该区域的起始位置。Vim 的 operator-pending mode 是基于 visual mode 实现的,而通过 visual 模式选取文本区域必然涉及光标的移动。
相比之下,Evil 并无此限制,其实现机制允许在执行此类操作后保持光标位置不变。
具体可以看这条 stackoverflow, vim 里要避免这种行为只能使用极其不优雅而且不具备通用性的 hack:https://vi.stackexchange.com/questions/25503/keep-cursor-from-moving-when-using-operators
我忘记我是从哪里学的这句话了。总之当时就想这么说。
又get到一个快捷键方式。。一直用V选择后yy
org无与伦比,现在已经很少编程了,但是org让我离不开emacs
V后yy这个搭配是做什么的?如果单行的话,直接yy,如果多行的话V后y。
operator pending mode 是一套通用的 vim grammer,这一套 grammer 将文本对象 (text objects) 和操作符 (operator)之间独立出来,可以自由组合。
可以用任意的操作符比如 y, d, c 以及用户自定义的操作符如 send text to REPL
和任意的文本对象如 aw af ap 等等自由组合。
这样比如开发者需要开发一个发送文本到 REPL 的插件,他就不需要重复的实现若干个函数,如发送这个函数到 REPL,发送这一行到 REPL,发送这一段到 REPL 等等等,他只需要实现一个发送任意文本到 REPL 的函数,然后让用户自由的选择想要的文本对象进行组合即可。
可以更方便。80% 的情况下 vim/evil 不需要先选中后操作,因为这样会多按一次 v 或者 V,完全没有必要。大部分的时候都是直接 yj
y2j
y2k
yap
yaw
ya"
yaf
等方式进行操作。只有在你想要操作的文本对象无法用已有的 text objects 进行描述的时候,才会先按 v 再选中。也不要觉得什么这样不够直观,只需要配合 evil-goggles 插件就很直观了。对于已经习惯的用户来说,这是肌肉记忆,操作起来是本能。
我的意思是,V+y应该就达到操作目的了,V+yy是有什么特殊操作吗?
没啥特殊的,习惯性按两次yy