和vimrc和marks有点纠结

和vimrc和marks有点纠结,vim,Vim,总结: let @c = "dd/##completed <CR> p" 不起作用,有什么建议吗 我录制了一个宏,它删除一行,移动到另一行我完成的部分,并将该行粘贴到此处 在我意识到指向我完成的部分的标记“c”并没有粘在正文上,而是粘在行上,这一点很明显,我现在想到了 因此,我改变了我的.vimrc,对完成的行执行搜索,并将内容粘贴到下面 代码如下 let @c = "dd/completed <CR> p" 但这不起作用,而是在命令行中显示/p。看来vimrc没有正

总结:

let @c = "dd/##completed <CR> p"
不起作用,有什么建议吗

我录制了一个宏,它删除一行,移动到另一行我完成的部分,并将该行粘贴到此处

在我意识到指向我完成的部分的标记“c”并没有粘在正文上,而是粘在行上,这一点很明显,我现在想到了

因此,我改变了我的.vimrc,对完成的行执行搜索,并将内容粘贴到下面

代码如下

let @c = "dd/completed <CR> p"
但这不起作用,而是在命令行中显示/p。看来vimrc没有正确处理回车,这里的语法有错误吗


或者,如果这是一种糟糕的移动线条的方式,有谁能提供更好的替代方案吗?

我不完全理解您的映射,但您需要在双引号内写\以获得回车;缺少反斜杠。或者,您可以在许多Windows安装中通过Ctrl+V或Q直接插入,然后按Enter键

一般来说,我不会预设寄存器c,您在.vimrc中错误地将其称为标记;如果经常需要,请通过:nnoremap定义映射。您可以将映射分配给任何自由键序列,并使用;i、 反斜杠,你有一个自由开始键,但你只有26个命名寄存器

要移动文本,请查看:move命令。这可能会满足您的要求:

:move /##completed

我不完全理解您的映射,但您需要在双引号内写\以获得回车;缺少反斜杠。或者,您可以在许多Windows安装中通过Ctrl+V或Q直接插入,然后按Enter键

一般来说,我不会预设寄存器c,您在.vimrc中错误地将其称为标记;如果经常需要,请通过:nnoremap定义映射。您可以将映射分配给任何自由键序列,并使用;i、 反斜杠,你有一个自由开始键,但你只有26个命名寄存器

要移动文本,请查看:move命令。这可能会满足您的要求:

:move /##completed

这很好,正是我所需要的;缺少\的是您编辑的问题,这是一个比我更优雅的解决方案。好的,我也更改了它::nnoremap:move/Completed…一切都很好:很高兴我能帮上忙。这个映射看起来很好,但我个人不会使用它;缺少\的是您编辑的问题,这是一个比我更优雅的解决方案。好的,我也更改了它::nnoremap:move/Completed…一切都很好:很高兴我能帮上忙。这个映射看起来很好,但我个人不会使用它。