鼠标 select 从 "vim" 和 "less" 复制显示不同的结果
mouse select copy from "vim" and "less" show different results
案例1:在vi中打开file1。 Select 几行(select 复制已启用)。粘贴在不同的地方。
情况 2:运行 命令 less file1
。从控制台,select 一些行。粘贴到不同的地方。
在案例2中,我看到在行显示转移到新行的地方引入了新行。所以,如果终端宽度是 80 个字符,而我的行是 100 个字符,那么新行将显示 20 个字符。如果我从 vim 复制,所有 100 个字符都被复制,没有任何换行符。但是,如果我从 "less" 命令复制,则会在第 80 个字符后引入换行符。
这弄乱了路径之类的东西。
"less"是否为长于显示宽度的行动态引入换行符?
less
不是为处理鼠标事件而设计的。因此,当您 select 文本而 运行 它时,selection 将由后面的终端处理,这对行、段落等没有任何意义;文本缓冲区在显示时被复制,仅此而已。
相反,如果您使用正确配置的 vim
,鼠标事件将由 vim
本身检测和处理:终端将优雅地让 vim
处理它们,为了方便。然后在复制文本行时将正确恢复行布局。
案例1:在vi中打开file1。 Select 几行(select 复制已启用)。粘贴在不同的地方。
情况 2:运行 命令 less file1
。从控制台,select 一些行。粘贴到不同的地方。
在案例2中,我看到在行显示转移到新行的地方引入了新行。所以,如果终端宽度是 80 个字符,而我的行是 100 个字符,那么新行将显示 20 个字符。如果我从 vim 复制,所有 100 个字符都被复制,没有任何换行符。但是,如果我从 "less" 命令复制,则会在第 80 个字符后引入换行符。
这弄乱了路径之类的东西。
"less"是否为长于显示宽度的行动态引入换行符?
less
不是为处理鼠标事件而设计的。因此,当您 select 文本而 运行 它时,selection 将由后面的终端处理,这对行、段落等没有任何意义;文本缓冲区在显示时被复制,仅此而已。
相反,如果您使用正确配置的 vim
,鼠标事件将由 vim
本身检测和处理:终端将优雅地让 vim
处理它们,为了方便。然后在复制文本行时将正确恢复行布局。