Чому Windows іноді "копіює у буфер обміну", коли я натискаю клавішу видалення? [дублікат]


45

Можливий дублікат:
Як я можу запобігти переносу видалення shift у Windows?

Я програміст, тому багато часу проводжу в текстовому редакторі. З будь-якої причини приблизно 25% часу, коли я натискаю Deleteклавішу Windows, скопіює свій вибір у буфер обміну безпосередньо перед видаленням.

Це засмучує, тому що я виділяю якийсь код, який я хочу перемістити, натискаю Ctrl+, Xа потім виділяю зайвий простір, що залишився, і натискаю Delete. Через мить я натисну на пасту, але замість того, щоб побачити, що я скопіював, я отримаю порожній рядок (вміст того, що я видалив).


Для тих, хто бачив мою оригінальну публікацію - я очистив назву та опис, щоб видалити невідповідну інформацію.
Джеремі

2
як бічна примітка, встановлення ClipX означає, що вам не доведеться турбуватися про втрату даних у буфері обміну (зворотний бік: без цього не можна жити!)
Simon

Після того, як Олівер вказав на основну причину проблеми, я озирнувся для постійного вирішення. Свої висновки я розмістив як "Відповідь" нижче.
Джеремі

Якщо ви використовуєте Visual Studio, є одна робота: використовуйте Ctrl + Shift + V для перегляду історії буфера обміну.
Лоран Кувіду

Якщо ви втрачаєте те, що було у буфері буфера обміну, зручний інструмент для завантаження (якщо припустити, що у вас є Windows) - це інструмент під назвою ClipX ( bluemars.org/clipx )
Roy Rico

Відповіді:


78

Рішення для цього можна знайти в цьому запитанні:
Як зробити перезавантаження Shift + Del у Windows, щоб означати «Видалити», а не «Вирізати»? або у власній відповіді Джеремі .

Ви, швидше за все, натискаєте Shift+ Del.

Ви все ще Shiftнатискаєте на вибір. Shift+ Del- ключове поєднання для вирізання (як і Ctrl+ X).


7
Це може бути дуже неприємно, коли ви прибираєте пробіл перед тим, як вставити спеціальний фрагмент коду з буфера обміну. Здається мені весь час, зводить мене з розуму.
Der Hochstapler

9
Дуже дякую - ви щойно вирішили мою проблему! Мене трохи бентежить, що я не знав про цю комбінацію клавіатур. Я завжди знав про shift + insert, але якось ніколи не чув про shift + del (хоча це має сенс). Знову дякую!
Джеремі

8
Просто додаткова інформація, це ключова комбінація для ліворуких користувачів, тому вони можуть використовувати її під час утримування миші (як праворукі користувачі можуть із Ctrl + C тощо)
Holger

3
@Jeremy: Я бачив це у Visual Studio - я просто переходжу на сторінку ярликів клавіатури, знаходжу запис Shift + Delete і замість того, щоб відображати її в Cut, я відображаю її в LineDelete (або як там воно називалося). Тоді насправді це робить щось корисне. :)
Мехрдад

2
@Holger: щось знайшов . Вони, схоже, походять від IBM CUA . Не впевнений, чи був їхній намір полегшити доступ для ліворуких користувачів. Але це все-таки працює :)
Der Hochstapler

7

* РІШЕННЯ *

Після того, як Олівер зазначив, що shift+ deleteє комбінацією клавіш для Cut (так само, як Ctrl+ x), я почав шукати спосіб вимкнути цю "функцію".

Єдине знайдене нами рішення - використовувати AutoHotKey (безкоштовно). Ось кілька основних інструкцій із налаштування для всіх, хто цікавиться:

Спочатку встановіть AutoHotKey , запустіть його та дозвольте йому створювати (та відкривати) приклад / сценарій AutoHotkey.ahk, коли він підкаже вам. Додайте до сценарію таке:

+Delete::
    KeyWait, Shift
    Send, {Delete}
    return

Я не впевнений, але вам, можливо, доведеться "перезавантажити" сценарій, перш ніж він почне працювати (я перезавантажився перед тестуванням). Щоб перезавантажити, виведіть на перший план додаток AutoHotKey і натисніть Ctrl+ R(або натисніть Файл -> Перезавантажити сценарій).

Якщо ви задоволені результатами, ви, ймовірно, захочете налаштувати AutoHotKey для автоматичного запуску при запуску. Це робиться шляхом вибору файлу AutoHotkey.ahk (у папці "Мої документи"), а потім переходу до вашої запускової папки (C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Меню "Пуск" \ Програми \ Запуск ) та натиснути "Вставити ярлик" у меню "Редагувати" (Натисніть Alt+, Eякщо ви не бачите рядок меню).

Під час тестування ця помилка працювала для мене у Windows 7. Дякую Оліверу за виявлення основної проблеми! :-)


8
Знаєте, ви могли просто навчитися також правильно вводити текст; P
Свиш

+1 Свиш. І немає підстав цитувати "особливість". Використання ctrl-c для копіювання в одних програмах (тих, що використовують Windows) та скасування завдань в інших (тих, що працюють у вікні консолі) є "особливістю". Але використання різних комбінацій клавіш для різних завдань є особливістю .
Ендрю Дж. Брем

Крім того, що ви робите на машинах, на яких не встановлено AutoHotKey, будь то в бібліотеці або у веб-кафе?
krlmlr

Насправді було таке питання . user946850 знайшов це. Ура.
Der Hochstapler

2

Іншою можливістю є функція доступності Sticky Key в Windows 7, тому ви натискаєте Shiftклавішу до і, коли ви натискаєте Del, Sticky Key поєднує їх у Shift+ Del, що є ще одним ярликом Cut(до буфера).

Наступна стаття виявилася корисною для з'ясування налаштування - Закріплення клавіш переключення - Windows 7 64 біт .


0

Це відбувається на обох ваших скриньках Win7? Якщо це лише одна, я схиляюся до думки, що можливо проблема з вашою клавіатурою, оскільки клавіші C і X стоять поруч. Можливо, клавіша C частково стирчить і трохи натискається при натисканні клавіші X. Єдиний раз, коли я бачив це, це коли мій палець не йде до ключа, про який говорить і мій мозок. :) У мене є півдюжини машин Win7, і я ніколи не бачив цього, за винятком випадків, коли я міг би віднести це до клавіатури або до мого пальця.


Ось що мені було дивно - це відбувалося на двох комп’ютерах. Я б спробував міняти клавіатури, якби це був лише один комп’ютер. Виявляється, Олівер мав рацію. Можливо, мені доведеться знайти інструмент, який дозволяє мені відключити комбінацію клавіатури shift + del. Дякуємо, що поділилися своїми думками. :-)
Джеремі

0

Оскільки основна причина пов'язана із ярликом Shift+ Del, іншим рішенням буде використання Backspaceдля видалення виділеного тексту, а не Del.

Хоча Delі Backspaceзазвичай виконують різні дії (принаймні на ПК), вони можуть бути використані для видалення виділення. І немає ніякого ризику перезаписати буфер обміну, оскільки Shift+ Backspaceте саме, що Backspace.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.