gpt4 book ai didi

vim - 重新映射 yank (y)、Change (c) 和 Delete (d)

转载 作者:行者123 更新时间:2023-12-01 02:36:05 25 4
gpt4 key购买 nike

我一直在尝试扩展这三个命令(y、c、d)的功能,因此我将在系统剪贴板(“+ 寄存器”)和普通寄存器中都有内容。

到目前为止,这是我想出的:

nnoremap Y y$v$"+y$
nnoremap yy 0y$0v$"+y$
vnoremap y ygv"+y
" ------
nnoremap C y$v$"+c
nnoremap cc 0y$0v$"+c
vnoremap c ygv"+c
" ------
nnoremap D y$v$"+d$
nnoremap dd 0y$0v$"+d$
vnoremap d ygv"+d
" ------

我对这个映射有一些问题:
  • 出于某种奇怪的原因,我必须先获取我的 .vimrc 资源,然后才能真正使用这些新绑定(bind)。
    尝试只使用 nmap、vmap 甚至 map 似乎根本不起作用。
  • 当我尝试拉出(例如)多行(例如 2yy)时,它会按预期将文本拉到“常规”寄存器(“0)”,但只将第一行拉到系统剪贴板中。
  • 我找不到在正常模式下为 y、c 和 d 创建这种行为的方法。

  • 任何人都可以帮助解决这些问题吗?

    我想创建一个函数,也许,所以我可以多次调用它,但我的 vim script-fu 充其量是新手。

    最佳答案

    如果可以的话"+y ,所有这些映射都是无用的。只需添加 set clipboard+=unnamedplus给您的~/.vimrc .

    关于vim - 重新映射 yank (y)、Change (c) 和 Delete (d),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229902/

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