Vim with Mouse

之前遇到了一個問題是在"某些"機器上把 Vim 升級成 7,會無法在 PieTTY 上使用右鍵貼上文字,但是在 shell 是正常的,所以很明顯的 Vim 做了一些 OOXX 的事情。

後來是經由 rafan 大告訴我們多設定一個 mouse-=a 就可以了,但是怎麼可以解決就算了,知其然不知其所以然呢?

後來看到  vim documentation, 裡面的第五點 using the mouse,才恍然大悟,原來平常使用 vim 時,就算有用滑鼠把東西 paste 進去 terminal 中,也是使用 system level 的 copy paste,vim 完全只扮演一個文字編輯器的角色,而輕點右鍵就算是"貼上"這件事情應該是 PieTTY 做的,算是 hot-key。

因為他已經寫的很詳細了,我就小小翻譯一下,做個筆記。

5. 使用滑鼠篇

現在來談談有關在 terminal 中使用滑鼠的方法吧,另外,如何在 GUI 視窗中(我想是 GVim)使用滑鼠是別的 章節,而如何使用滾輪鼠也是在另一個 章節

要在所有 mode 中都可以使用滑鼠要設定指令如下:

:set mouse=a

除此之外 Vim 在任何模式下都不能辨認你的滑鼠。(詳情請看 這裡

目前來說,在以下情況滑鼠都會被支援,Unix 中的 xterm window、Linux 中的 console( GPM)、 MS-DOS、Windows 中的 console。
支援定位你的 cursor,也可以拿來選擇區塊和貼上等等。

在 mouse 變數中用這些參數來告訴 Vim 要在那些 mode 可以使用滑鼠。
 n Normal mode  
 v Visual mode  
 i Insert mode  
 c Command-line mode  
 h all previous modes when in a help file  
 a all previous modes  
 r for |hit-enter| prompt  
 A auto-select in Visual mode
在預設的情況下,mouse 變數中會是空的,也就是不使用滑鼠(應該也是 Vim7 之前的情況),通常如果要使用滑鼠,你可以這樣做:

:set mouse=a

(這和設定 mouse=nvich 是一樣的)
如同上面解釋的,如果你只想在少數幾種 mode 使用滑鼠,那必須要把字母串接起來,像是:

:set mouse=nv

意味著在  Normal mode 和  Visual mode 中使用滑鼠。

:set mouse=h

意味著只能在看 help file 時使用滑鼠。(所以你可以用  q 跳到  tags

要判斷用滑鼠選擇過的區塊是在  Visual mode 還是  Select mode 是根據 "mouse" 有沒有被包含在  selectmode 選項中。

在 xterm 中,如果你現在在使用的 mode 有在 mouse 變數中被設定,那你按 shift 或 ctrl + 滑鼠點一下會到 xterm,如果沒有設定,那不論在什麼 mode 滑鼠點一下都會到 xterm。(這邊我也不太了 ~"~)

*xterm - clipboard*
在  Athena 和  Motif  GUI 版本中,如果跑在 terminal 上並且去存取一個 X-server,那複製-貼上的行為就會像是在 GUI,如果沒有的話,那滑鼠中鍵會 insert the unnamed  register (又看不懂了)在這個情況下,我們要複製並且貼上一段純文字會這樣做:

使用 mouse 和 Visual mode 來複製-貼上(mouse 變數要先如上設定喔)
  1. 在你要選的第一個文字上按住滑鼠左鍵,移動到你要選的最後一個文字在放開左鍵,這樣會是使用 Visual mode 選擇這些文字,而且會有 highlight 的效果。(我實在不想翻譯成 語法"高亮")
  2. 按下 y 來 yank 這些被選中的文字,放到 vim 的 register 中。
  3. 在你要貼上的地方按一下滑鼠左鍵,把游標移過去。
  4. 點滑鼠中鍵
剩下的不翻了,後面有點離題了。 XD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值