gpt4 book ai didi

vim - 如何在猛拉的逐行视觉选择结束时自动删除换行符?

转载 作者:行者123 更新时间:2023-12-03 18:38:52 24 4
gpt4 key购买 nike

有没有办法在选择的最后一行末尾没有换行符的情况下猛拉逐行视觉选择?更具体地说,我希望能够将 vim 中的一行或多行复制到系统剪贴板并将其粘贴到其他地方,而无需执行最后一个命令而没有机会对其进行编辑。

我可以通过在 yanking 后在相关寄存器上执行此命令来获得所需的效果:

:let @*=substitute(@*,'\n$','','g')

但是有没有办法自动执行该命令?我目前正在使用 MacVim 并且似乎没有办法将额外的命令映射到 ⌘-C,所以如果我找不到另一个解决方案,我必须有另一个映射来记住在复制后执行.

最佳答案

我对自己的最初回答一直运行良好,以至于我几乎忘记了它,但现在我决定 set clipboard=unnamed 始终拉到系统剪贴板。一个副作用是,猛拉到剪贴板也会影响未命名的寄存器,我不希望从中删除尾随的换行符。

新的(和更多 Vim 风格的)答案是一个映射,用于在拉取之前将行视觉选择转换为字符:

vnoremap <C-c> <Esc>'<0v'>g_y

现在,如果我打算在命令行中粘贴或在任何其他时间粘贴 <C-c>,我将使用 y 进行复制。几乎是用户 Explosion Pills 建议的内容,但添加了一些内容以包括第一行的第一个字符和最后一行的最后一个字符。

关于vim - 如何在猛拉的逐行视觉选择结束时自动删除换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20735923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com