我在一个屏幕窗口中录制了一个vim宏。在同一个屏幕会话中,我有多个窗口。如何使我在第一个屏幕窗口中录制的宏跨其他屏幕窗口/跨屏幕会话?我们必须为此对vim寄存器做些什么吗?
siv3szwd1#
1.如果两个屏幕窗口在同一台机器上显示两个单独的Vim示例1.如果构建的Vim支持剪贴板1.在记录宏的Vim示例中,将宏寄存器的内容放入剪贴板寄存器:
" assuming you recorded your macro in register `a` :let @+ = @a
1.在另一个Vim示例中,将剪贴板寄存器的内容放入一个已命名的已命名寄存器中:
:let @a = @+
1.如果构建的Vim不支持剪贴板Vim将寄存器存储在.viminfo文件中。理论上允许您写入和读取任意.viminfo文件,但这可能导致Vim中不必要的状态丢失。请 * 非常 * 小心地读取:help viminfo-read-write并谨慎地继续操作。
.viminfo
:help viminfo-read-write
1条答案
按热度按时间siv3szwd1#
1.如果两个屏幕窗口在同一台机器上显示两个单独的Vim示例
1.如果构建的Vim支持剪贴板
1.在记录宏的Vim示例中,将宏寄存器的内容放入剪贴板寄存器:
1.在另一个Vim示例中,将剪贴板寄存器的内容放入一个已命名的已命名寄存器中:
1.如果构建的Vim不支持剪贴板
Vim将寄存器存储在
.viminfo
文件中。理论上允许您写入和读取任意.viminfo
文件,但这可能导致Vim中不必要的状态丢失。请 * 非常 * 小心地读取:help viminfo-read-write
并谨慎地继续操作。