macvim-dev / macvim-dev/macvim

Using Cmd-C multiple times unexpectedly changes editor contents

Đang mở
#1,485 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Vim Script
Star
7.9k
Fork
691
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện hành vi Cmd-C lặp lại trong GUI của MacVim bằng mvim --clean trên macOS, đồng thời so sánh với terminal vim --clean. Theo dõi cách MacVim xử lý thao tác sao chép gốc và xác định lý do các lần sao chép sau xóa hoặc thay đổi dòng hiện tại; hoàn tất khi việc nhấn Cmd-C lặp lại không làm thay đổi nội dung trình soạn thảo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
macos, vim
Lĩnh vực
desktop
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.