我想有一种快速的方法来设置Vim 'paste'
选项,插入一些文本,并恢复为以前的值'paste'
。
一个典型的用例是按字面意义插入OS剪贴板内容,而不考虑任何可能处于活动状态的插入方式重写(例如自动缩进),并且不更改Vim的状态。另一个用例是允许OS宏功能将击键注入Vim,并将其解释为文本。
显然,这可以归结为其他选项-总体思路是设置一些选项,但仅在通过插入模式进行一次旅行的持续时间内。
基本上,我想将键序列(例如_i
)绑定到执行此操作的宏
:set paste
i…<Esc>
:set nopaste
在这里,i…<Esc>
我的意思是切换到插入模式(与i
命令一样)并在返回命令模式时恢复宏,除非我想以'paste'
仍然处于活动状态(如果事先处于活动状态)而结束。我怎样才能做到这一点?
注意:OS剪贴板的内容已映射到"*
register。在这种情况下,该'paste'
选项不是很有用。这个问题的动机场景是在那些"*
不满足注册支持条件的情况下— Vim没有使用该+xterm_clipboard
功能进行编译,或者它运行在诸如Screen或通过SSH的终端中,从而将其与环境X服务器隔离。
+
或*
注册粘贴起来难道不是很容易吗?