【问题标题】:vim - how to keep cursor position while copying textvim - 如何在复制文本时保持光标位置
【发布时间】:2014-03-06 13:30:47
【问题描述】:

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

我的问题是这样的 -

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

我该怎么做

【问题讨论】:

  • 你的手放在鼠标上(大多数 Vim 用户都不赞成),你为什么不直接用它来移动光标呢?!
  • unix.stackexchange.com/questions/118414/… 的副本;请不要将同一个问题同时发布到多个网站!
  • 你能告诉我问这个问题的正确地方吗?我希望在 unix 论坛上得到答案,但我没有很快得到答案,就在那时我很想在 stackoverflow 中提问,在那里我得到了更快的响应 - 如果相关问题,在两个论坛中问这个问题有什么问题?是否有 stackexchange 政策规定我不应该这样做?
  • 如果您期望在一小时内得到答复(这是网站上报告的粗略差异),那是过于乐观/不耐烦了,不是吗?如果您几天后交叉发布,我个人会觉得没问题,两个问题都有交叉链接。其他任何事情都是对回答的人和寻找答案的人的不尊重 IMO。
  • 虽然我承认我很不耐烦,但这不是我在两个地方发布问题的原因 - 这是因为我不确定我会在哪里得到更好的答案,两个网站都有 vim标签,我从两个网站上的不同人那里得到了不同的解决方案。是的,我错过了放置交叉链接,这是一个错误。下次我会注意的,但我仍然不确定根据堆栈交换政策是否允许! :)

标签: windows vim editor


【解决方案1】:

首先,使用鼠标选择文本是违反 Vim 的理念的,并且会妨碍您使用编辑器变得真正高效。但是如果你“不得不”使用 (G)Vim 而不是你的选择,那很好,Vim 可以满足你:

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

如果您使用 jump 命令(如3G)导航到另一个位置,`` 会带您回到之前的跳转位置Ctrl-O 命令的作用相同,但也可以带您走得更远。

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

【讨论】:

    【解决方案2】:

    只需按 CTRL-O 即可跳回第 6 行。

    请参阅此提示: http://vim.wikia.com/wiki/Jumping_to_previously_visited_locations

    【讨论】:

      【解决方案3】:

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

      在终端中,vim 不控制鼠标和选择。你可以在 gvim 中得到类似的行为

      :set mouse=
      

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-18
        • 2019-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多