答案1
如果一些额外的击键不会打扰您,那么我认为不存在问题。
GNU Screen 的复制粘贴寄存器(.
)可以从文件中读取/写入:<C-a><
和<C-a>>
是默认热键,/tmp/screen-exchange
是默认文件,但我更喜欢用户特定的而不是系统范围的,所以我会在中设置如下内容.screenrc
:
setenv BUFFERFILE "$HOME/.buffer"
bufferfile "$BUFFERFILE"
Vim 没有这样的现成的命令,但创建并将它们映射到您想要的任何内容并不困难,例如<leader><
分别<leader>>
:
if exists("$BUFFERFILE")
nnoremap <silent><leader>< :let @" = join(readfile($BUFFERFILE), "\n")<CR>
nnoremap <silent><leader>> :call writefile( split(@", "\n"), $BUFFERFILE )<CR>
endif
然而,如果他们确实打扰你,事情就会变得有点复杂——据了解,你必须:
- 重新映射 Vim 中所有可能的拉取、剪切(因为在改变某些寄存器时没有自动命令事件)和粘贴(因为它实际上是唯一可行的触发器)快捷方式 - 并不复杂但很乏味 - 我希望你知道怎么做;
在 GNU Screen 中重新映射两个快捷方式:粘贴一个快捷方式非常明显:
bind ] eval readbuf "paste ."
拉取一个 –
<Return>
或者<Space>
以特殊的复制模式对我来说很困难。