1
pooorguy 2022-01-20 17:25:32 +08:00 via Android
上移多行一般不都 数字+K 么
|
2
jdhao 2022-01-20 17:38:59 +08:00 via Android
你需要改变思维,让你的 mapping 接收一个数字,只按 <leader>k ,把当前行上移一行,如果前面还有数字,例如先按 5 ,再按<leader>k ,那就把当前行上移五行,都是可以编程实现的。
下伙子多学学 |
3
jdhao 2022-01-20 17:41:54 +08:00 via Android 1
@jdhao 这个才是完全理解了 vim 的思维,例如按 w ,跳一个单词,但是按下 5w ,会跳 5 个单词,而不是我傻傻的按 5 次 w
|
4
zwpaper 2022-01-20 17:48:43 +08:00
建议早日弃暗投明,练就 Emacs 八爪鱼组合键大法( Doge
|
5
jheroy 2022-01-20 17:49:53 +08:00
你需要改变的是操作方式,像把当前行移到其他位置这种我一般都是 dd 当前行,然后光标跳到要去的那一行按 p 就行了。 如果用 vim 还按照普通编辑器那样用的话就没必要用 vim 。
|
6
yayiji OP @jdhao 这个我理解,其实我上述只是取个例子,我想的是有无改变这种按键方式的可能。对于数字的问题,不知道大家平时在使用时使用数字的频率高低,实际上我比较少使用数字,主要是两个问题,其一是数字键比较难按,二是我需要确定是具体数字后再做操作,有一些顿挫,影响操作的流畅,所以基本在极端情况才会使用数字。当然我并未掌握 vim 的哲学
|
8
lanlanye 2022-01-20 20:42:53 +08:00
喜欢组合键要不要试试 Emacs ( Doge
|
9
lanlanye 2022-01-20 20:45:03 +08:00
正经来说,Vim 好像没有你要的这种形式,但是上移这种操作一般不都是删除整行后跳到目标位置粘贴吗……
拿你举例的「向上移动一行」来说,完全可以直接 kddp 解决,为了这种功能写函数都没必要,也不会用到 leader 吧 |
10
AEDaydreamer 2022-01-20 21:21:33 +08:00
对于那个例子我的方案是,对于一般距离的移动还够用:
-- Move text up and down keymap("v", "<A-j>", ":m .+1<CR>==", opts) keymap("v", "<A-k>", ":m .-2<CR>==", opts) |
11
ecnelises 2022-01-20 23:33:17 +08:00
我猜不行,因为系统 API 甚至底层中断里就是把功能键和其他键的位分开的
|
12
fatestigma 2022-01-21 04:18:24 +08:00
Emacs + evil ,让你保留 Vim 的键位,然后还可以同时享受 Emacs 组合键 ( Doge
|