Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Cmd-C multiple times unexpectedly changes editor contents #1485

Open
6 of 7 tasks
pronovic opened this issue Apr 2, 2024 · 2 comments
Open
6 of 7 tasks

Using Cmd-C multiple times unexpectedly changes editor contents #1485

pronovic opened this issue Apr 2, 2024 · 2 comments
Milestone

Comments

@pronovic
Copy link

pronovic commented Apr 2, 2024

Steps to reproduce

  1. Open any file in the GUI via gvim <file> or File > Open
  2. Use your mouse to select some text in the editor (i.e. double-click on a word)
  3. Use Cmd-C to copy the highlighted text
  4. Use Cmd-C again - the line your cursor is on gets cleared (sort of like d$ from the start of the line)
  5. Use Cmd-C again - now <D-c> gets appended onto the line once for every time you type Cmd-C

Expected behaviour

I don't expect Cmd-C to alter the editor contents.

I've been using MacVim since 2017, and I've never run into this before, so I think it's a change from previous behavior. However, I can't figure out what is triggering it or why I've only recently started to see it. I apparently have a habit of sometimes copying the same text multiple times, and I've never before had to worry about lines getting deleted or <D-c> getting inserted into the file I'm editing. I still get the behavior I expect if I'm using vim from a MacOS terminal, which is how I realized I have this habit of using Cmd-C multiple times.

I've tested this behavior with multiple install methods: brew install macvim and brew install --cask macvim, plus manual install from GitHub releases using both MacVim.dmg and MacVim_10.9.dmg. I've also tested with multiple versions of MacVim going back to early 2023. I'm able to reproduce this behavior in all versions I've tried.

Since I've never seen this behavior before, I'm wondering whether something about my combination of hardware and OS might be the root cause. Prior to January of 2024, I was running Ventura on an older Intel Macbook, but now I'm running Sonoma on a new M3 Macbook. Maybe something is slightly different about the way the native Mac copy/paste actions are bound?

Behavior is roughly the same with gvim --clean as with my normal vimrc, although I do normally have set mouse="n" configured (a carryover from my Linux vimrc that has been in there since around 2003).

Version of Vim and architecture

VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jan 04 2024 03:00:35)

Environment

MacOS 14.3.1 (23D60) on a 16" M3 Macbook Pro from Nov 2023

How MacVim was installed

Originally Homebrew (brew install macvim), but behavior persists with other install methods

Logs and stack traces

No response

Vim configuration where issue is reproducable

Occurs with empty vimrc

Issue has been tested with given configuration

  • by running MacVim.app from GUI macOS interface
  • by running vim/gvim/etc installed by MacVim
  • by running other versions of vim (e.g. /usr/bin/vim)

Issue has been tested with no configuration

  • by running mvim --clean (or gvim, supplied by MacVim distribution)
  • by running vim --clean (in terminal, supplied by MacVim distribution)
  • by running vim --clean (in terminal, other suppliers, e.g. /usr/bin/vim)

Other conditions

  • The both Homebrew packages "vim" and "macvim" are installed
@pronovic
Copy link
Author

pronovic commented Apr 2, 2024

After some further experimenting, I've established that I can avoid the editor unexpectedly changing if I add the following to my vimrc:

" In the MacVim GUI, make sure that ⌘-C doesn't alter the editor state
if has("gui_running")
  nmap <D-c> <Nop>
  imap <D-c> <Nop>
endif

I still think something has changed, because I've never needed to configure anything like this before. However, this is a reasonable workaround.

@ychin
Copy link
Member

ychin commented Apr 3, 2024

That's odd. Let me take a look. But yes, this seems weird.

@ychin ychin added this to the Release 180 milestone Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants