2010-01-25 170 views
18

MacVim中的一個更好的功能是可以使用通常的OS命令複製和粘貼文本(即command + C和command + V)。使用SHIFT +箭頭在vim/MacVim中選擇文本

當你在一分鐘之前在其他編輯器中工作並且你的大腦還沒有準備好建議你的手指如何鍵入真實的東西時,情況尤其好。

但是,我的大腦需要做的一件事就是做一些小小的思考:這就是文本選擇模式。在非vi編輯器中,我會使用Shift + Arrow進行此操作,並且在MacVim中嘗試此操作不起作用。但另一方面,在我看來,Shift + Arrow也不能用於其他任何事情。是否可以重新映射密鑰以使其成爲可能?

(理想情況下,編輯器仍然會在插入模式下在選擇文本後,會騰出一些額外的擊鍵。)

+1

不錯的問題,但我試圖建議將它作爲程序配置問題移動到超級用戶。這裏討論的emacs非常類似的問題:http://meta.stackexchange.com/questions/36017/what-site-should-host-questions-about-emacs-keybinding對元。 – dmckee 2010-01-25 01:49:58

+0

您是否想在選擇後進入插入模式,因爲您正在替換選擇(例如按'c'來清除選擇並進入插入模式)或出於某種其他原因?在我看來,如果您有選擇,則處於可視模式,因此無法處於插入模式。 – Jay 2010-01-25 01:50:03

+0

我想保持插入模式,因爲我不想離開插入模式,除非真的有必要。在「正常」文本編輯器中,當您選擇文本時,您還將保持插入模式。這更多的是因爲'過渡'的原因;正如我所說的,通過Command鍵複製和粘貼(甚至保存)也可以在插入模式下工作。 – Debilski 2010-01-25 01:59:44

回答

25

從手冊:

在Mac OS X文本編輯器讓用戶按住Shift +移動鍵 選擇。另外,按 可打印鍵,同時選擇 將用 替換當前選擇的字符。 MacVim可以模擬 這種行爲(通過提供 鍵綁定並將'keymodel' 和'selectmode'設置爲非默認值 值),但默認情況下未啓用 。爲了使的MacVim表現得更像 文本編輯,而不是像Vim的,添加 以下行到你的「〜/ .vimrc」裏 (不是.gvimrc)文件:

if has("gui_macvim") 
    let macvim_hig_shift_movement = 1 
endif 
+0

太好了。非常感謝。看起來這正是我一直在尋找的東西。 – Debilski 2010-01-25 01:53:08

+3

雖然有一個小小的煩惱,但現在我需要在使用箭頭鍵時在視覺模式下按shift。習慣'hjkl'的時間... – Debilski 2010-01-25 02:03:38

6

作爲自我提醒和爲他人整齊提示:

由於SHIFT +箭頭鍵選擇和鼠標選擇現在將自動啓動SELECT模式,這意味着它顯然不是那麼容易通過使用鼠標或箭頭鍵進行選擇VISUAL。 (即使已經在VISUAL模式下,鼠標選擇仍然會觸發SELECT模式。)因此,無論何時想要將命令應用於選擇,以下方法都有幫助。

  • 用鼠標按ESC
  • gv自動重新選擇前面的選擇和觸發VISUAL模式選擇文本或Shift +箭頭
  • 取消選擇

編輯:同樣可以使用簡單的CTRL + g完成。

+2

您可以添加'set selectmode ='以避免默認進入SELECT模式。使用Ctrl + g在SELECT和VISUAL模式之間切換。 – kennytm 2011-05-24 09:36:34

+0

就我個人而言,大多數情況下,我喜歡在使用SHIFT +箭頭時選擇模式;但Ctrl + g無論如何都是個好主意。比ESC,g,v'簡單一點。 – Debilski 2011-05-24 12:53:18