当前位置: 技术问答>linux和unix
关于vim
来源: 互联网 发布时间:2016-04-28
本文导语: 我使用vim7.0.235,发觉在配置了set mouse=a后,在vi里面右键复制功能就失效了。 7.1版本也有相同问题,请教如何解决 | 以下命令打开鼠标: :set mouse=a 否则 Vim 不会在所有模式下识...
我使用vim7.0.235,发觉在配置了set mouse=a后,在vi里面右键复制功能就失效了。
7.1版本也有相同问题,请教如何解决
7.1版本也有相同问题,请教如何解决
|
以下命令打开鼠标:
:set mouse=a
否则 Vim 不会在所有模式下识别鼠标 (见 'mouse')。
目前,鼠标只有在 Unix 的 xterm 窗口、Linux 终端 (带 GPM |gpm-mouse|)、MS-DOS
和 Windows 终端上才支持。鼠标键击可以用来定位光标,设置区域并粘贴。
'mouse' 选项的字符决定 Vim 在什么场合下会使用鼠标:
n 普通模式
v 可视模式
i 插入模式
c 命令行模式
h 在帮助文件里,以上所有的模式
a 以上所有的模式
r 跳过 |hit-enter| 提示
'mouse' 的缺省值为空,即不使用鼠标。通常你会用:
:set mouse=a
来开始使用鼠标 (这等价于设置 'mouse' 为 "nvich")。如果你只想在若干模式下或者在
某两个任务上使用鼠标,你需要专注于那些模式对应的字母。例如:
:set mouse=nv
会使得鼠标在普通模式和可视模式下工作。
:set mouse=h
会使得鼠标只有在帮助文件里工作 (这样,可以用 "g" 来进行标签跳转)。
鼠标能否在可视模式或者选择模式下开始选择,决定于 "selectmode" 选项包不包括
"mouse"。
在 xterm 终端里,在 'mouse' 选项包含当前激活的模式的前提下,普通的鼠标键击归
Vim 使用,而带 shift 或者 ctrl 键的鼠标键击由 xterm 控制。如果 'mouse' 不包括
当前激活的模式,则所有的鼠标键击由 xterm 控制。
*xterm-clipboard*
Athena 和 Motif GUI 版本上,如果在终端运行但是可以访问 X-server (设置了
DISPLAY),那么复制和粘贴和 GUI 上的行为相似。如果不是,那么鼠标中键会插入无名
寄存器。这种情况下,这里是如何复制和粘贴一段文本的方法:
用鼠标和可视模式复制/粘贴 ('mouse' 选项必须设置,见上):
1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放左
键。这会启动可视模式并高亮选择区域。
2. 按 "y" 抽出可视文本到无名寄存器里。
3. 在要插入的位置上按鼠标左键。
4. 按鼠标中键。
快捷方式: 如果插入位置和可视文本同时出现在屏幕上,你可以一次做 2、3 和 4: 在要
插入的位置直接按鼠标中键。
注意: 如果使用 |-X| 命令行参数,Vim 不会连接到 X 服务器,所以复制/粘贴到 X 剪
贴板 (选择区) 不会工作。使用带 shift 键的鼠标键来让 xterm 完成选择。
*xterm-command-server*
如果 X-服务器的剪贴板可用,|x11-clientserver| 的命令服务器可以在命令行用
--servername 打开。
*xterm-copy-paste*
注意: 在有些 (较老的) xterm 版本里,光标不能移动超过第 95 列。这是 xterm 的问
题,不是 Vim 的。用新一点的 xterm 吧 |color-xterm|。
使用 xterm 粘贴/复制 (当前模式_不_包括在 'mouse' 里):
1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放。
2. 使用普通的 Vim 命令把光标移动到待插入的位置。
3. 按 "a" 开始插入模式。
4. 按鼠标中键。
5. 按 ESC 退出插入模式。
(对包含在 'mouse' 里的模式,这里的操作同样可以完成,只要你在使用鼠标的时候按住
shift 键就行了。)
注意: 如果你在粘贴的时候丢失了第 8 位 (特殊字符被翻译成其他字符),你需要在启动
Vim 之前在外壳上执行 "stty cs8 -istrip -parenb"。
这样,在 xterm 上 shift 和 ctrl 键不能和鼠标一起使用。需要 CTRL 修饰符的鼠标命
令可以在使用鼠标前按 "g" 键模拟:
"g" 是 " (跳转到鼠标点击的标签上)
"g" 是 " ("CTRL-T")
*mouse-mode-table* *mouse-overview*
如果 'mousemodel' 是 "extend" ,鼠标按钮的功能的概述在此:
普通模式:
事件 移动光标 选择 改变窗口 行动
是 结束 是
是 结束 是 "CTRL-]" (2)
是 不改变 是 "*" (2) **
是 开始或者扩展 (1) 否 **
是 开始或者扩展 (1) 否
是 如果没有激活 否 放置
是 如果激活 否 抽出和放置
是 开始或者扩展 是
是 开始或者扩展列块 是 **
是 不改变 是 "#" (2) **
否 不改变 否 "CTRL-T"
是 扩展 否 **
是 扩展 否 **
:set mouse=a
否则 Vim 不会在所有模式下识别鼠标 (见 'mouse')。
目前,鼠标只有在 Unix 的 xterm 窗口、Linux 终端 (带 GPM |gpm-mouse|)、MS-DOS
和 Windows 终端上才支持。鼠标键击可以用来定位光标,设置区域并粘贴。
'mouse' 选项的字符决定 Vim 在什么场合下会使用鼠标:
n 普通模式
v 可视模式
i 插入模式
c 命令行模式
h 在帮助文件里,以上所有的模式
a 以上所有的模式
r 跳过 |hit-enter| 提示
'mouse' 的缺省值为空,即不使用鼠标。通常你会用:
:set mouse=a
来开始使用鼠标 (这等价于设置 'mouse' 为 "nvich")。如果你只想在若干模式下或者在
某两个任务上使用鼠标,你需要专注于那些模式对应的字母。例如:
:set mouse=nv
会使得鼠标在普通模式和可视模式下工作。
:set mouse=h
会使得鼠标只有在帮助文件里工作 (这样,可以用 "g" 来进行标签跳转)。
鼠标能否在可视模式或者选择模式下开始选择,决定于 "selectmode" 选项包不包括
"mouse"。
在 xterm 终端里,在 'mouse' 选项包含当前激活的模式的前提下,普通的鼠标键击归
Vim 使用,而带 shift 或者 ctrl 键的鼠标键击由 xterm 控制。如果 'mouse' 不包括
当前激活的模式,则所有的鼠标键击由 xterm 控制。
*xterm-clipboard*
Athena 和 Motif GUI 版本上,如果在终端运行但是可以访问 X-server (设置了
DISPLAY),那么复制和粘贴和 GUI 上的行为相似。如果不是,那么鼠标中键会插入无名
寄存器。这种情况下,这里是如何复制和粘贴一段文本的方法:
用鼠标和可视模式复制/粘贴 ('mouse' 选项必须设置,见上):
1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放左
键。这会启动可视模式并高亮选择区域。
2. 按 "y" 抽出可视文本到无名寄存器里。
3. 在要插入的位置上按鼠标左键。
4. 按鼠标中键。
快捷方式: 如果插入位置和可视文本同时出现在屏幕上,你可以一次做 2、3 和 4: 在要
插入的位置直接按鼠标中键。
注意: 如果使用 |-X| 命令行参数,Vim 不会连接到 X 服务器,所以复制/粘贴到 X 剪
贴板 (选择区) 不会工作。使用带 shift 键的鼠标键来让 xterm 完成选择。
*xterm-command-server*
如果 X-服务器的剪贴板可用,|x11-clientserver| 的命令服务器可以在命令行用
--servername 打开。
*xterm-copy-paste*
注意: 在有些 (较老的) xterm 版本里,光标不能移动超过第 95 列。这是 xterm 的问
题,不是 Vim 的。用新一点的 xterm 吧 |color-xterm|。
使用 xterm 粘贴/复制 (当前模式_不_包括在 'mouse' 里):
1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放。
2. 使用普通的 Vim 命令把光标移动到待插入的位置。
3. 按 "a" 开始插入模式。
4. 按鼠标中键。
5. 按 ESC 退出插入模式。
(对包含在 'mouse' 里的模式,这里的操作同样可以完成,只要你在使用鼠标的时候按住
shift 键就行了。)
注意: 如果你在粘贴的时候丢失了第 8 位 (特殊字符被翻译成其他字符),你需要在启动
Vim 之前在外壳上执行 "stty cs8 -istrip -parenb"。
这样,在 xterm 上 shift 和 ctrl 键不能和鼠标一起使用。需要 CTRL 修饰符的鼠标命
令可以在使用鼠标前按 "g" 键模拟:
"g" 是 " (跳转到鼠标点击的标签上)
"g" 是 " ("CTRL-T")
*mouse-mode-table* *mouse-overview*
如果 'mousemodel' 是 "extend" ,鼠标按钮的功能的概述在此:
普通模式:
事件 移动光标 选择 改变窗口 行动
是 结束 是
是 结束 是 "CTRL-]" (2)
是 不改变 是 "*" (2) **
是 开始或者扩展 (1) 否 **
是 开始或者扩展 (1) 否
是 如果没有激活 否 放置
是 如果激活 否 抽出和放置
是 开始或者扩展 是
是 开始或者扩展列块 是 **
是 不改变 是 "#" (2) **
否 不改变 否 "CTRL-T"
是 扩展 否 **
是 扩展 否 **
|
解决的方法就是 set mouse=
|
重新设置即可。
|
没有遇到过~
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。