Celeb Glow
news | March 03, 2026

Enable mouse for scrolling only in Vim in iTerm (MacOSX)

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

You could use

:set mouse=nicr

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

5

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.

2

For Iterm2

Preference -> Advanced -> Mouse Tab, switch:

Scroll wheel sends arrow keys when in alternate screen mode

to:

Yes
2

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

  • Scrolling in 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".

Done.

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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