在可视模式下复制/粘贴而不离开vim

6
在普通文本编辑器中,当我选择并复制后,选择区域会保持不变,这样我就可以快速再次复制。但在vim中,当我在可视模式下按y键时,会进入正常模式,所以我需要重新选择。我希望有一种更快的方法。
原因: 在测试控制台应用程序时,我从文本编辑器中复制测试数据并粘贴到控制台中。然后我发现了错误并编辑了代码,剪贴板可能会改变,我需要再次复制和粘贴测试数据进行测试。

虽然可能无法直接回答你的问题,但以下方法或许能够解决你的难题:你可以尝试使用 ./my_app < test_data.txt 命令将测试数据直接输入你的应用程序。此外,你还可以直接让应用程序能够从文件中读取数据,这样你就可以简化启动应用程序所需的按键操作,并将应用程序一遍又一遍地重复运行。 - dash-tom-bang
2个回答

13

你可以通过输入 gv 重新选择上一次的可视区域。

                        *gv* *v_gv* *reselect-Visual*
gv          Start Visual mode with the same area as the previous
            area and the same mode.
            In Visual mode the current and the previous Visual
            area are exchanged.
            After using "p" or "P" in Visual mode the text that
            was put will be selected.

2
真的很有帮助!我添加了 vmap <C-c> ygv,这就像普通编辑器一样工作。 - bilabila

1
你不需要处于可视模式才能复制文本。在正常模式下,复制命令可以与动作结合使用:y{motion}。您可以在此处了解更多信息:http://vim.wikia.com/wiki/VimTip312#Copying_and_cutting_in_normal_mode 听起来你也想将文本复制到系统剪贴板中。在大多数Linux发行版上,您可以通过将文本复制到+寄存器中来实现此操作。根据发行版的不同,您可能需要安装gvim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接