所以我通常会发现自己将文本从一个点复制到另一个点,同时覆盖粘贴新文本的旧文本:
blah1
newtext
blah2
wrong1
blah3
wrong2
blah4
Run Code Online (Sandbox Code Playgroud)
假设我对它进行了视觉标记newtext和yank。现在我选择wrong1(可以是任何东西,不一定只是一个词)并p品尝newtext. 但是,如果我现在wrong2对它做同样的事情,它将被替换wrong1为newtext。
那么如何防止缓冲区中的文本与我当前正在覆盖的文本交换?
尽管我非常喜欢 reigister 建议(我想我将开始更多地使用寄存器,现在我发现了该:dis命令),但我将修改jinfield的答案,因为我不使用交换模式。
vnoremap p "0p
vnoremap P "0P
vnoremap y "0y
vnoremap d "0d
Run Code Online (Sandbox Code Playgroud)
完美地做到了这一点。
我太快了;romainl的解决方案正是我正在寻找的,没有Edit 1 中的黑客。
其实,vnoremap p "_dP够了!
所以,改变接受的答案。