I'd like to use the mouse in Vim only for scrolling (not to enable other Vim modes or otherwise interact with Vim). Using :set mouse=a seems to be an all or nothing operation, can this be altered? Alternatively can iTerm be made to only pass through scroll events and never click/drag events?

Long Explanation: I use Vim in iTerm a lot and don't use the mouse. However, inertia scrolling with a trackpad is really nice and a great way to peruse large files. I can :set mouse=a and use the trackpad to scroll and it's great. Now when I click however vim enters visual mode and iTerm will not copy selected text. I would like to retain iTerms ability to select and copy text.

I have thought about setting up Vim so that copying in vim will copy in Mac OS X (using pbcopy, I need to do this anyway). This will do the trick when editing local files, but most of the time I'm ssh'd somewhere and editing remote files.

6 Answers 6


You could use

:set mouse=nicr

It works only with mouse scroll as I've tested.

  • 4
    Not quite what I need as while it will scroll in vim, iTerm won't let me select text. I've :set mouse=i so that scroll works in insert mode and iTerm select in normal mode. Close enough, so I'm marking answered. Thanks for the idea! Dec 15, 2011 at 21:30
  • 3
    That looks like "set the mouse to be nicer" to me.
    – Kazark
    Aug 30, 2012 at 17:07
  • 7
    @JonahBraun, iTerm will mouse select with :set mouse=nicr if you hold down option while making the selection. See stackoverflow.com/questions/4608161/… Mar 22, 2013 at 23:58
  • Where do you write :set mouse=nicr? Apr 29, 2019 at 6:14
  • You can either write that every single time you start Vim, or you could write that in the file ~/.vimrc, but consider also :set mouse=a, as @MikeMorearty suggests below. This makes selection of text possible, too. (It goes into visual mode, which some may not like.)
    – sshine
    Feb 4, 2021 at 18:58

If you set mouse=a, you can still use Option-click to make iTerm do selection. Not ideal, but it's the best option I've found.

  • 3
    this is the real workable answer.
    – Zen
    Feb 15, 2015 at 7:46
  • It certainly is.
    – sshine
    Feb 4, 2021 at 18:58

For Iterm2

Preference -> Advanced -> Mouse Tab, switch:

Scroll wheel sends arrow keys when in alternate screen mode


  • 1
    Enter vim > mouse wheel scrolls within vim only. Perfect, thanks!
    – cmrust
    Mar 12, 2021 at 15:36
  • In my case you must set this iTerm config AND hold down Option when scrolling with the trackpad/the mouse wheel.
    – miguno
    Apr 1 at 17:41
  • ba dum tss ! worked perfectly. Nov 2 at 15:14

I'm not sure about iTerm but this is achievable with Terminal.app.

  • Scrolling in Terminal.app:

http://ayaz.wordpress.com/2010/10/19/using-mouse-inside-vim-on-terminal-app/ (install SIMBL and MouseTerm)

  • Scrolling only:

    1. Go to terminal;
    2. Preference;
    3. 'Settings' Icon;
    4. 'Keyboard' Tab
    5. 'Mouse...' button;
    6. There under 'Send mouse events for:" uncheck "Left click", "Middle click", "Right click".



You can also set vim env options from command line

For example:

vim -c 'set mouse=a'

So an alternate alias for vim that does it automatically might be:

alias vimmy="vim -c 'set mouse=a'"

Even better than the accepted answer:

set mouse=a

This allows scrolling and then highlighting gives you a visual block.

  • 2
    This enables things other than scrolling.
    – Kazark
    Aug 30, 2012 at 17:10
  • 4
    Moreover, that is already mentioned in the question.
    – Kazark
    Aug 30, 2012 at 17:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.