当我使用"+y
复制到系统剪贴板时,选定的内容会复制到寄存器+
以及默认的(")寄存器。如何确保内容只复制到寄存器+
而不修改"
寄存器?
编辑:我现在明白这是预期的行为,任何猛拉都会修改默认寄存器。我仍然想知道是否有解决方法。
我提出了一个天真的解决方案
对于视觉模式
vnoremap <Leader>y :<C-u>let @+=@*<CR>
对于单行
nnoremap <Leader>yy :<C-u>let @+=getline('.') . "\n"<CR>
但我们会缺少许多 yank 功能。我希望有人提供更好的解决方案。
假设我想突出显示/搜索vim
使用以下条件打开的文件中的所有行。
条件:以 开头"start123"
和结尾的行"321end"
。这两种模式之间可能有任何东西。
我尝试跟随但没有运气。
/^start123\&321end$
当然我可以在 bash 上使用grep -G '^start123' teest|grep -G '321end$'
但我想在 vim 中突出显示这个字符串。就是想。
出于某些特殊目的,我想防止 Linux 服务器的非 root 用户更改或重命名文件名。但是,他们可以修改和写入文件的内容。如何从命令行执行此操作。