好想换掉evil
或者说有什么函数可以根据inner和whole返回position
这个没看太懂?
expand region貌似没有inside-word这样的东西啊。
er/mark-word
不是?
额,那么aw(即outer)这样的呢
整个例子吧,有点久没有用evil了
比如我有这样一个字符串 It's ju|st a test.
|
就是光标
用mark-word可以实现这样选中:It's [just] a test.
,删除的话just周围两个空格会被保留。([]表示选中)
如果支持outer的话应该要带上前面一个空格:It's[ just] a test.
,这样删除会更方便。
(主要是不习惯vi,我想用hydra自己搞一套键位,但是希望能够继承evil中text-object的理念)
这个意思不太明白。对evil默认text objects不够满意可以试试targets.el,什么让da'
不要选中'
外面的一个空格这样的功能,都在里面。lisp系的话lispyville不可错过。
顺手列一下我用的evil全家桶:
evil-visualstar
evil-exchange
evil-nerd-commenter
evil-surround
evil-matchit
evil-snipe
evil-multiedit
targets.el
哦!这个好像论坛有讨论过,记不清了。不用modal editing但是用evil的思路当然可以,(evil-define-key 'insert (kbd "C-a") 'evil-delete)
就行,不过一般不这么用是因为这样按起来不如expand-region之类的,完全没有normal state下的方便感。所以还是expand-region吧,感觉不用evil它是非常好的了。
带空格可以想办法在expand-region上改改,反正就两个思路,多个按键告诉emacs要不要空格/想出个规则让emacs知道你在这里会不会想要空格(dwim, do what I mean)
targets.el已经是evil-textobj-anyblock的继任者了,现在又出了个这个,是targets的继任,闹哪样 继承者们 不过这个things大概是你想要的答案了:
My prior package
targets.el
is a mess in large part due to being built on top ofevil
. Evil builds uponthingatpt
as well, but not in a way that is very suitable for use as a library for implementing text objects. For this reason, I decided to rewrite targets usingthingatpt
only.
看起来不错,明天试试看;感觉还不是很习惯vi的一套…
好像还有个
还有一个 easy-kill
:
这个包也是在thingatpt上做的,不过没有这个多选一个空格的功能。