我已经使用VI和VIM多年了(30年或更长时间)(在xterm中,不是它自己的窗口,gvim),并且我有一个庞大的vim 命令库,可以通过鼠标中键作为选择来提供vim。
例如,我经常会做...
vi {many_hundreds_of_files}
paste vim commands using mouse - one paste per file.
选择内容将包括许多VIM命令,以执行诸如替换测试,格式化,四处移动行等操作等操作,并且通常在选择结束时以:w和:next VIM命令结尾,所以vim已准备好让我再次粘贴到下一个文件中。这使我能够以非常复杂的方式更新大量文件,而无需使用特殊脚本(例如,perl就地编辑)。
其中一些vim命令粘贴长200多行(存储在我在屏幕上弹出的文本文件中,并且“全部复制”!这些对我正在重新格式化的数千个文件进行了很多更改。但是仅适用于特定的文件集,不适用于我的日常vim工作:例如,文本/数据文件的批量重新格式化。
问题...
在我的上一个系统补丁(Fedora 25)中,vim现在将鼠标选择粘贴为TEXT而不是vim命令,我似乎无法停止!
在其他系统(Fedora 24)上仍然可以正常工作。
如果要粘贴为文本,请在粘贴前进入插入模式!我不希望VIM不在插入模式下时自动将所选内容AS文本粘贴。我知道这是安全功能,但是对我来说这是一个重要的可用性问题。
我已经尝试从不执行此操作的机器上回溯约会terminfo条目(xterm-256color)(尤其是“ kmous” terminfo条目)。我也看过了vim“:set mouse =”设置(这是null!)。我不知道这是xterm(可疑),还是VIM中发生了更改(可能有更改),并且更改日志和google一直无济于事。
但是,似乎什么也没让我过时。
vim
变化:如何vim
内的xterm
知道的东西是通过键盘输入或者通过鼠标右键粘贴?我不知道这种机制。另一方面,xterm
知道它正在执行,vim
因此可以决定使用i
<esc> 包围粘贴。尝试(a)使用其他类型的终端窗口,以及(b)vim
使用其他名称的副本。这应该有助于缩小问题的原因。
vim
劫持您的粘贴方法外,还有其他事情。也许尝试将ssh's或telnet到您的计算机中并以这种方式粘贴。如果您有Windows框,请使用腻子将其SSH到Fedora25机器中,然后粘贴。
gvim.exe
(graphical-vim)和命令行vim.exe
。在gvim.exe中粘贴“ itext”,您会得到itext
。将其粘贴到vim.exe中,您将得到text
pastetoggle
选项?