vim - 复制文本时如何保持光标位置

时间:2014-03-06 13:30:48

标签: windows vim editor

我(不得不)在Windows中使用gvim。我习惯了linux环境,当我用鼠标选择文本时,光标位置不会改变。现在,在Windows中使用gvim,

我的问题是这样的 -

  1. 当我在第6行编辑时
  2. 当我不得不从第3行复制“hellovim”时
  3. 当我用鼠标点击“hellovim”复制它时
  4. 然后光标在第3行移动到“hellovim”
  5. 我希望光标留在第6行
  6. 我该怎么做

3 个答案:

答案 0 :(得分:4)

首先,使用鼠标选择文本是违反Vim的理念,并阻止您使用编辑器变得非常高效。但如果你“必须”使用(G)Vim来反对你的选择,那很好,Vim可以容纳你:

关键是标记。有些是自动的,例如 `.命令会将您带回到上一个编辑位置

如果您使用 jump 命令(如3G)导航到其他位置, ``会将您带回上一个跳转位置Ctrl-O命令执行相同操作,但也可以将您带回来。

您也可以手动设置(ma)并返回(`a)跳转;像寄存器一样,Vim有很多(a-z)。

答案 1 :(得分:1)

按CTRL-O跳回第6行。

看到这个提示: http://vim.wikia.com/wiki/Jumping_to_previously_visited_locations

答案 2 :(得分:1)

我猜你在Linux上的终端窗口中使用vim,而不是gvim。我认为Windows有一个vim的终端版本,但你说你必须使用gvim。

在终端中,vim不控制鼠标或选择。您可以使用

在gvim中获得类似的行为
:set mouse=

然后你可以用鼠标选择文字;例如,双击以选择单词。问题是如何复制和粘贴此文本。默认情况下,唯一的方法似乎是在命令行模式下使用CTRL-Y进行复制;由于您是在插入模式下开始的,因此可以使用 CTRL-O CTRL-Y CR 。如果这是你在插入模式下唯一使用CTRL-C,那么你可以

:imap <C-C> <C-O>:<C-Y><CR>

粘贴更容易,具体取决于'guioptions''clipboard'选项的设置。

:help 'mouse'
:help 'mousemodel'
:help gui-mouse-modeless