2014-03-06 34 views
0

我是(不得不)在Windows中使用gvim。我習慣了linux環境,當我用鼠標選擇文本時,光標位置不會改變。現在,隨着GVIM的窗口,vim - 複製文本時如何保持光標位置

我的問題是這樣的 -

  1. ,而我編輯在第6行
  2. ,當我有從線複製「hellovim」 3
  3. 當我用鼠標點擊「hellovim」來複制它
  4. ,則光標被移到「hellovim」上線3
  5. 在那裏,因爲我想將光標停留在第6行

我怎樣才能做到這一點

+2

你的手放在鼠標上(這是大多數Vim用戶皺起了眉頭),爲什麼不用它來移動光標?! –

+0

http://unix.stackexchange.com/questions/118414/vim-how-to-keep-cursor-position-while-copying-text的副本;請不要將相同的問題並行發佈到多個站點! –

+0

你能告訴我提問這個問題的正確位置嗎?我期待在unix論壇上有一個答案,我很快就沒有得到答案,那時候我正試圖在stackoverflow中問我在哪裏得到更快的答覆 - 無論如何在兩個論壇上提問這個問題有什麼不對?是否有堆棧交換策略說我不應該這樣做? – binithb

回答

4

首先用鼠標選擇文本違背Vim的哲學,並且阻止你在編輯中變得非常有效率。但是如果你「不得不」使用(G)Vim對你的選擇,那很好,Vim可以容納你:

關鍵是標記。有些是自動的,例如`.命令將您帶回到最後編輯位置

如果您使用的命令(如3G)導航到另一個位置,``帶你回到以前的跳躍位置Ctrl-O命令的功能相同,但也可以帶您回去。

您也可以手動設置(ma)並返回(`a)跳轉;像Vim一樣,Vim有很多(a-z)。

1

我想你是在Linux的終端窗口中使用vim,而不是gvim。我認爲Windows有一個終端版本的vim,但你說你必須使用gvim。

在終端中,vim不控制鼠標,也不控制選擇。你可以在gvim中獲得類似的行爲

:set mouse= 

然後你可以用鼠標選擇文本;例如,雙擊選擇一個單詞。問題是如何複製和粘貼此文本。默認情況下,唯一的方法似乎是在命令行模式下使用CTRL-Y進行復制;既然你在插入模式開始,你可以使用CTRL-OCTRL-YCR。如果這是你在插入模式只使用Ctrl-C的,那麼你可以

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

粘貼容易,取決於在'guioptions''clipboard'選項的設置。

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