求助:evil将文本粘贴到下一行的更简便方法

XIS~GJE)X}SY2DJ@LMZQ7

请教前辈们,我光标在最后一行,然后下面没有新行,我想把剪贴板里的文本粘贴到下一行,evil里头应该怎么操作

]p

紫薯布丁

这个操作会在本行最后粘贴,而不是新起一行

o s-v 即可。s-v在mac系统下是粘贴键。在其他平台上稍作配置应该就可以了。

你这个操作还是有点复杂,先进入插入模式,然后粘贴完再回到命令模式。不知道还能不能简化,我希望在命令模式粘贴完,还是命令模式,不用切换模式的

自己写一个命令 映射到你想要的快捷键即可,这些都是很简单的操作。

(defun paste-to-newline()
 (next-line)
(evil-paste-after 1)
)

emacs的所有按键都对应了一个命令,按 C-h k就可以知道这个按键到底调用了什么命令,想要自己写自己的函数 就简单的试一下组装一下就可以了。 当然你这个场景也可以直接录一个简单的键盘宏就行了,不过如果写在自己配置文件里的,我是不会用键盘宏的,宏一般都是一次性用完就丢的。

:pu <RET>

貼在[line]行後 :[line]pu <RET>

按鍵數是差不多,但不用按esc

evil将文本粘贴到下一行的更简便方法

你是分享还是求助?应在标题表明你发帖的意图/目的。

感谢大家回复, milanglacier兄你说的我懂,但我主要是想看看有没有内置操作。katzecase的答案是我想要的。再次感谢大家帮忙解答

试了一下相同场景,如果是我,我应该会用ojjp,差不多已是肌肉记忆 :joy:

o esc p应该是最快了的吧,如果要跳回光标处 再按c-o

有一个包叫 move-dup 。可以看看。

可以写一个命令绑定到z pg p之类,当按下这个键时,检查最近复制的内容是否带有line break,对两种内容分别处理,最后使不管哪一种贴出来都是在下一行。

如果开了自动保存和emacs自带的保存时在代码文件末尾插入一个空行的功能,只要停顿一下等待自动保存,然后j p就好了。