首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在复制文本时保持光标的位置

如何在复制文本时保持光标的位置
EN

Unix & Linux用户
提问于 2014-03-06 13:14:07
回答 2查看 822关注 0票数 0

我不得不在窗口中使用gvim。我已经习惯了linux环境,当我使用鼠标选择文本时,光标的位置不会改变。现在,在窗户里有gvim,

我的问题是这样的-

  1. 当我在编辑第6行时
  2. 当我不得不从第3行复制"hellovim“时
  3. 当我用鼠标点击"hellovim“来复制它时
  4. 然后光标被移动到第3行的"hellovim“。
  5. 因为我希望光标停留在第6行

我该怎么做?

EN

回答 2

Unix & Linux用户

发布于 2014-03-06 14:00:49

在gvim中,没有任何选项允许在编辑vimrc文件时完全按照您的要求进行操作。FYI,选项可在这里获得:http://vimdoc.sourceforge.net/htmldoc/autocmd.html#CursorMoved

但是,可以将以下代码添加到vimrc文件中:

代码语言:javascript
复制
augroup NO_CURSOR_MOVE_ON_SELECTION
  au!
  au MenuPopup * let g:oldmouse=&mouse | set mouse=
  au CursorMoved * if exists('g:oldmouse') | let &mouse=g:oldmouse | unlet g:oldmouse | endif
augroup EN

它所做的:它记录RightClick事件(显示上下文菜单的那个事件)上的光标位置。然后,如果您做了一个选择,光标将保持到记录的位置(不会改变)。一旦完成,记录的位置就会在光标移动时被删除,例如点击一行,这样您仍然可以通过单击移动光标。

当然,您可以使用右击以外的其他事件。

PS:这就像你创建了一个“选择”状态,右击激活(或者其他你喜欢的任何东西),然后用键盘移动光标使其失效。在这种状态下,所有的选择都不会改变光标的位置。

票数 1
EN

Unix & Linux用户

发布于 2014-03-06 14:32:52

看看你的鼠标选项设置。

代码语言:javascript
复制
gvim afile

若要显示当前选项,请执行以下操作

代码语言:javascript
复制
:set

查找mouse=<some value>,它可能是mouse=a,这意味着鼠标可以在所有模式下工作。您可以选择鼠标将操作的模式。所以

代码语言:javascript
复制
:mouse=nvc

将鼠标设置为只能在正常、可视和命令模式下工作(插入模式省略)

模式可以是:

代码语言:javascript
复制
n = Normal mode
v = Visual mode
c = Command mode
i = Insert mode
a = all modes

现在,当您插入文本,您仍然可以选择使用鼠标和光标将保持在您当前的插入位置。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/118414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档