Как переназначить сочетания клавиш для копирования / вставки?


31

Я использую Mac в течение многих лет, но предпочитаю заниматься разработкой программного обеспечения для Windows. Я действительно привык использовать следующие сочетания клавиш на окнах:

<CTRL>  + INSERT: Copy
<SHIFT> + INSERT: Paste
<SHIFT> + DELETE: Cut

В последнее время я начал заниматься разработкой под Mac. Однако по привычке я очень скучаю по этим ярлыкам. На самом деле, я считаю, что это намного удобнее, чем комбо + (C / V / X).

Есть ли способ переназначить эти три ярлыка хотя бы?

Я просматривал весь интернет и в системных настройках "Клавиатуры", но ничего не нашел.

PS: Если вам интересно, где я могу найти клавиши INSERT на MacBook Pro, я использую беспроводную клавиатуру.



Ответы:


14
System Preferences: Keyboard: Modifier Keys...

Затем поменяйте местами клавиши Command и Control. Это изменит все глобально для всех команд клавиатуры в масштабе всей системы.

введите описание изображения здесь


3
Есть ли способ заставить команду + left или command + right перейти на одно слово влево или на одно слово вправо вместо home и end?
trusktr

2
Мне бы очень хотелось, чтобы где-то был опрос пользователей Mac, которые действительно сделали это.
Micro

2
Это также портит наш дорогой ALT-TAB!
Кирилл Дюшон-Дорис

5
Как это отвечает <SHIFT> + INSERT: Вставить?
AD

37

Это отлично работает для меня, чтобы использовать только те функции вырезания / вставки / копирования, которые я так часто используювведите описание изображения здесь


2
Это не очень хорошо работает в некоторых приложениях, таких как Finder. Проблема в том, что иногда пункт меню называется «Копировать 6 элементов» или «Копировать файл.txt», и тогда он не работает
Майк Бландфорд,

2
Как вы узнаете названия для ярлыков? где я могу увидеть все доступные? потому что в моей ОС есть только показать меню справки и ничего более ... нет автозаполнения в новом диалоге ярлыков
vach

для копирования вставьте его логично, но, например, CTRL + Back, я не знаю имени и хочу изменить его на Command + Back
vach

10

Попробуйте создать ~/Library/KeyBindings/и сохранить список свойств, такой как DefaultKeyBinding.dict :

{
    "^\UF727" = copy:; // control-insert
    "$\UF727" = paste:; // shift-insert
    "^\UF728" = cut:; // control-delete
}

У меня нет клавиатуры с клавишей вставки, поэтому я не смог проверить, работают ли первые две настройки. Последний параметр работает для меня, хотя.

Редактировать: другой вариант - использовать Karabiner (ранее KeyRemap4MacBook):

<autogen>__KeyToKey__ KeyCode::PC_INSERT, VK_CONTROL | Modifierflag::NONE KeyCode::C, ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::PC_INSERT, VK_SHIFT | Modifierflag::NONE, KeyCode::V, ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::FORWARD_DELETE, VK_SHIFT | Modifierflag::NONE, KeyCode::X, ModifierFlag::COMMAND_L</autogen>

1
Дал ему шанс. Это не похоже на работу. Думаю, мне придется привыкнуть к ярлыкам буфера обмена Mac. Спасибо большое. Я постараюсь читать по ссылкам. Во-первых, я не понял большинство вещей в этих ссылках :)
Code Poet

3
Создан аккаунт только для того, чтобы изменить это. KeyRemap4MacBook наконец-то позволил мне использовать ctrl / shift + ins / del на Mac, это действительно сделало мое кодирование намного быстрее. Я баловался с DoubleCommand, пользовательскими раскладками клавиш и т. Д., Но этот просто работал прямо из коробки.
Арне

1
@Arne К сожалению, приложение перестало работать с обновлением Sierra. Подход файла KeyBindings никогда не работал для меня.
ficuscr

2

System Preferences -> Keyboard -> Keyboard Shortcuts

Вы можете изменить (или назначить) несколько горячих клавиш, найдя в списке и затем нажав на назначенную клавишу, а затем напечатав новую для замены.

Чтобы заменить (например) операцию «копирования» в конкретной программе, добавьте запись для используемой вами программы (или для всех программ). В поле заголовка меню введите EXACTLY текст меню элемента i (например, Copy) в качестве текста. Перезапустите приложение и нажмите на пункт меню в программе, вы увидите, что он был заменен на ваш пользовательский ярлык


2

Я тоже использую Ctrl-Ins, Shift-Ins и т. Д.

Описанное решение здесь , а также переназначение ключей Home и End, чтобы быть более похожим на Windows, например

  • Откройте TextEdit в папке «Приложения». Если TextEdit уже был открыт, создайте новый документ, используя File-> New. Должно быть окно с надписью «Без названия».
  • Выделите текст в окне ниже, скопируйте его и вставьте в новое окно TextEdit.
  • В TextEdit преобразуйте его в обычный текст (по умолчанию используется форматированный текст), выбрав «Формат» -> «Создать обычный текст».
  • Затем выберите «Файл» -> «Сохранить как» ... В диалоговом окне «Сохранить как» перейдите к домашней директории (посмотрите в разделе «МЕСТО» на левой стороне изображение дома, рядом с которым есть ваше имя). В вашем домашнем каталоге дважды щелкните папку «Библиотека». Если вы видите папку KeyBindings, дважды щелкните по ней. Если нет, нажмите «Новая папка» (в каталоге «Библиотека»), назовите новую папку KeyBindings (без пробела), а затем дважды щелкните по ней. Введите DefaultKeyBinding.dict в качестве имени файла (вверху) и нажмите кнопку «Сохранить».
  • Предупреждение: TextEdit иногда пытается «помочь», добавив расширение .txt к имени файла. Убедитесь, что этого не произошло. Если вас попросят использовать расширение .txt, скажите TextEdit вместо этого использовать .dict. Это не будет работать, если вы используете .txt. Если у вас возникли проблемы, см. Комментарий Натана ниже.
  • Прежде чем эти изменения вступят в силу, вам необходимо выйти из системы, а затем снова войти в нее.

Код для вставки в ~/Library/KeyBindings/DefaultKeyBinding.dictфайл:

/* ~/Library/KeyBindings/DefaultKeyBinding.Dict
This file remaps the key bindings of a single user on Mac OS X 10.5 to more closely
match default behavior on Windows systems.  This particular mapping assumes
that you have also switched the Control and Command keys already.

This key mapping is more appropriate after switching Ctrl for Command in this menu:
Apple->System Preferences->Keyboard & Mouse->Keyboard->Modifier Keys...->
Change Control Key to Command
Change Command key to Control
This applies to OS X 10.5 and possibly other versions.

Here is a rough cheatsheet for syntax.
Key Modifiers
^ : Ctrl
$ : Shift
~ : Option (Alt)
@ : Command (Apple)
# : Numeric Keypad

Non-Printable Key Codes

Up Arrow:     \UF700        Backspace:    \U0008        F1:           \UF704
Down Arrow:   \UF701        Tab:          \U0009        F2:           \UF705
Left Arrow:   \UF702        Escape:       \U001B        F3:           \UF706
Right Arrow:  \UF703        Enter:        \U000A        ...
Insert:       \UF727        Page Up:      \UF72C
Delete:       \UF728        Page Down:    \UF72D
Home:         \UF729        Print Screen: \UF72E
End:          \UF72B        Scroll Lock:  \UF72F
Break:        \UF732        Pause:        \UF730
SysReq:       \UF731        Menu:         \UF735
Help:         \UF746

NOTE: typically the Windows 'Insert' key is mapped to what Macs call 'Help'.  
Regular Mac keyboards don't even have the Insert key, but provide 'Fn' instead, 
which is completely different.
*/

{
"\UF729"   = "moveToBeginningOfLine:";                       /* Home         */
"@\UF729"  = "moveToBeginningOfDocument:";                   /* Cmd  + Home  */
"$\UF729"  = "moveToBeginningOfLineAndModifySelection:";     /* Shift + Home */
"@$\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Cmd  + Home */
"\UF72B"   = "moveToEndOfLine:";                             /* End          */
"@\UF72B"  = "moveToEndOfDocument:";                         /* Cmd  + End   */
"$\UF72B"  = "moveToEndOfLineAndModifySelection:";           /* Shift + End  */
"@$\UF72B" = "moveToEndOfDocumentAndModifySelection:";       /* Shift + Cmd  + End */
"\UF72C"   = "pageUp:";                                      /* PageUp       */
"\UF72D"   = "pageDown:";                                    /* PageDown     */
"$\UF728"  = "cut:";                                         /* Shift + Del  */
"$\UF727"  = "paste:";                                       /* Shift + Ins */
"@\UF727"  = "copy:";                                        /* Cmd  + Ins  */
"$\UF746"  = "paste:";                                       /* Shift + Help */
"@\UF746"  = "copy:";                                        /* Cmd  + Help (Ins) */
"@\UF702"  = "moveWordBackward:";                            /* Cmd  + LeftArrow */
"@\UF703"  = "moveWordForward:";                             /* Cmd  + RightArrow */
"@$\UF702" = "moveWordBackwardAndModifySelection:";   /* Shift + Cmd  + Leftarrow */
"@$\UF703" = "moveWordForwardAndModifySelection:";   /* Shift + Cmd  + Rightarrow */
}

Внешние ссылки могут уйти. Пожалуйста, укажите наиболее релевантное содержание в вашем ответе, чтобы ответ всегда был здесь, и ссылка может служить для более глубокого исследования.
Кмарш

Ха, я забыл, я даже написал этот ответ. Я, вероятно, восстановил свой Mac 5 раз с тех пор, как написал его, и привык к ярлыкам Mac несколько лет назад.
Мэтт Фреар

0

Вы можете установить и настроить приложение Karabiner со следующей конфигурацией private.xmlфайла (изменить на вкладке « Разное »):

<?xml version="1.0"?>
<root>
  <item>
    <name>Copy with Ctrl-Insert</name>
    <identifier>private.use_ctrl_insert_for_copy</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::PC_INSERT, ModifierFlag::CONTROL_L,
        KeyCode::C, ModifierFlag::COMMAND_L
    </autogen>
  </item>
  <item>
    <name>Copy with Ctrl-C</name>
    <identifier>private.use_ctrl_c_for_copy</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::C, ModifierFlag::CONTROL_L,
        KeyCode::C, ModifierFlag::COMMAND_L
    </autogen>
  </item>
  <item>
    <name>Cut with Shift-Delete</name>
    <identifier>private.use_shift_delete_for_cut</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::DELETE, ModifierFlag::SHIFT_L,
        KeyCode::X, ModifierFlag::COMMAND_L
    </autogen>
  </item>
  <item>
    <name>Cut with Ctrl-X</name>
    <identifier>private.use_ctrl_x_for_cut</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::X, ModifierFlag::CONTROL_L,
        KeyCode::X, ModifierFlag::COMMAND_L
    </autogen>
  </item>
  <item>
    <name>Paste with Shift-Insert</name>
    <identifier>private.use_shift_insert_for_paste</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::PC_INSERT, ModifierFlag::SHIFT_L,
        KeyCode::V, ModifierFlag::COMMAND_L
    </autogen>
  </item>
  <item>
    <name>Paste with Ctrl-V</name>
    <identifier>private.use_ctrl_v_for_paste</identifier>
    <autogen>
        __KeyToKey__
        KeyCode::V, ModifierFlag::CONTROL_L,
        KeyCode::V, ModifierFlag::COMMAND_L
    </autogen>
  </item>
</root>

и включите вновь созданный элемент после перезагрузки файла на вкладке « Изменить ключ ».

Связано: только переназначить Ctrl + C, Ctrl + V и Ctrl-X


-1

Я не могу заставить работать элементы Karabiner для меня в Sierra, нет ключа вставки. Я наконец решил, что проблема в том, что я использую левую руку для нажатия клавиш-модификаторов (ctrl, cmd, opt) и правую руку для нажатия клавиш навигации (стрелки, начало, конец, вставка, удаление). Вот почему Cmd-C и Cmd-V такие неловкие.

Итак, я экспериментирую (с помощью сочетаний клавиш выше):

  • Cmd- [для копирования
  • Cmd- [для вставки

1
Мне трудно понять, насколько это реальный ответ, а не комментарии / отзывы о ваших испытаниях / экспериментах.
Аллан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.