所以我通常会发现自己将文本从一个点复制到另一个点,同时覆盖粘贴新文本的旧文本:
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够了!
所以,改变接受的答案。
假设我打开了file1.txt, file2.txt,file3a.txt和file3b.txt这样的标签行(顶部的东西)看起来像这样:
file1.txt file2.txt 2 file3a.txt
Run Code Online (Sandbox Code Playgroud)
(请注意如何file3b.txt.丢失,因为它显示在与 相同的选项卡中的拆分中file3a.txt)
为了在选项卡之间更快地移动(使用<Number>gt),我希望每个选项卡都沿着文件名显示其索引。像这样:
1:<file1.txt> 2:<file2.txt> 3:<2 file3a.txt>
Run Code Online (Sandbox Code Playgroud)
格式(特别是尖括号)是可选的;我只希望索引出现在那里(1:,2:等等)。
没有任何线索:h tab-page-commands或谷歌。