macvim-dev / macvim-dev/macvim

Add a feature to map left Option `⌥` key to Meta

Open
#1,321 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Input
Dominant language
Vim Script
Stars
7.9k
Forks
691
PR merge metrics
No merged PRs in 30d

Description

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.

I don't really use accented characters using the macOS compose key. So I like to treat the left Option key as an additional modifier for more key mapping space. Creating these mappings for the text version of vim running inside of iTerm works great because I have the setting "Left Option key: Esc+".

The problem is that in MacVim, the Left Option key continues to act like the macOS Compose key. That means that I have to add to my .vimrc a bunch of mappings like:

nmap ß <M-s>
imap ß <M-s>

Describe the solution you'd like
Like VimR, let me map the left Option key as Meta:
screenshot 2022-10-21T045627Z

Describe alternatives you've considered
Add a bunch of alias mappings like:

nmap ß <M-s>
imap ß <M-s>

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names MacVim, VimR, and .vimrc mappings but no source files or tests. Start by locating MacVim's macOS keyboard handling and comparing how VimR treats the left Option key. Done means the left Option key can be configured as Meta without requiring the listed alias mappings.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.