Jak mogę ponownie przypisać skróty klawiaturowe kopiuj / wklej?

31

Używam Maca od lat, ale wolę programować w systemie Windows. Naprawdę jestem przyzwyczajony do bardzo częstego korzystania ze skrótów w systemie Windows:

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

Później zająłem się nawet pracą programistyczną na komputerze Mac. Jednak z przyzwyczajenia bardzo brakuje mi tych skrótów. W rzeczywistości uważam je za znacznie wygodniejsze niż kombinacja COMMAND + (C / V / X).

Czy istnieje sposób na ponowne przypisanie przynajmniej tych trzech skrótów?

Szukałem w Internecie i preferencjach systemowych „Klawiatury”, ale niczego nie znalazłem.

PS: Jeśli zastanawiasz się, gdzie znajduję klawisze INSERT na komputerze Mac book pro, używam klawiatury bezprzewodowej.

Kod Poeta
źródło
Powiązane: Remap tylko Ctrl + C, Ctrl + V i Ctrl-X
kenorb 14.09.16
pqrs.org/osx/karabiner
Fabrizio Bertoglio

Odpowiedzi:

14
System Preferences: Keyboard: Modifier Keys...

Następnie zamień klawisze Command i Control. To zmieni wszystko globalnie dla wszystkich poleceń klawiaturowych w całym systemie.

wprowadź opis zdjęcia tutaj


źródło
3
Jakikolwiek sposób, aby polecenie + lewy lub polecenie + prawy poszły o jedno słowo w lewo lub o jedno słowo w prawo zamiast home i koniec?
trusktr
2
Naprawdę żałuję, że nie było ankiety wśród użytkowników komputerów Mac, którzy dokonali tej zmiany.
Micro
2
To także psuje naszą drogą ALT-TAB!
Cyril Duchon-Doris
5
Jak to odpowiedzieć <SHIFT> + INSERT: Wklej?
AD
37

Działa to dla mnie świetnie, oferując tak często używane funkcje cięcia / wklejania / kopiowaniawprowadź opis zdjęcia tutaj

użytkownik112638
źródło
2
To nie działa zbyt dobrze w niektórych aplikacjach, takich jak Finder. Problem polega na tym, że czasami element menu nosi nazwę „Kopiuj 6 elementów” lub Kopiuj plik.txt, a następnie nie działa
Mike Blandford
2
Jak wymyślić nazwy skrótów? gdzie mogę zobaczyć wszystkie dostępne? ponieważ w moim systemie jest tylko menu pomocy i nic więcej ... brak autouzupełniania w nowym oknie dialogowym skrótów
vach
dla kopiuj wklej jego logiczne, ale na przykład CTRL + Wstecz Nie znam nazwy i chcę ją zmienić na Command + Wstecz
vach
10

Spróbuj utworzyć ~/Library/KeyBindings/i zapisać taką listę właściwości jako DefaultKeyBinding.dict :

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

Nie mam klawiatury z klawiszem wstawiania, więc nie mogłem sprawdzić, czy działają pierwsze dwa ustawienia. Ostatnie ustawienie działa jednak dla mnie.

Edycja: inną opcją jest użycie Karabinera (wcześniej 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>
Lri
źródło
1
Daj temu szansę. Wydaje się, że to nie działa. Chyba będę musiał przyzwyczaić się do skrótów schowka Mac. Dzięki wielkie. Spróbuję przeczytać linki. Pierwsze spojrzenie, nie zrozumiałem większości rzeczy w tych linkach :)
Code Poet
3
Utworzono konto, aby to zmodyfikować. KeyRemap4MacBook w końcu umożliwił mi użycie ctrl / shift + ins / del na Macu, co naprawdę znacznie przyspieszyło moje kodowanie. Zajmowałem się DoubleCommand, niestandardowymi mapami klawiszy itp., Ale ten zadziałał od razu po wyjęciu z pudełka.
Arne
1
@Arne Niestety aplikacja przestała działać z aktualizacją Sierra. Metoda plików KeyBindings nigdy nie działała dla mnie.
ficuscr
2

System Preferences -> Keyboard -> Keyboard Shortcuts

Możesz zmienić (lub przypisać) kilka skrótów klawiszowych, znajdując się na liście, a następnie klikając przypisany klawisz, a następnie wpisując nowy, aby go zastąpić.

Aby zastąpić (na przykład) operację „kopiowania” w określonym programie, dodaj wpis dla używanego programu (lub wszystkich programów). W polu tytułu menu wpisz DOKŁADNIE tekst menu elementu i (np. Kopiuj) jako tekst. Uruchom ponownie aplikację i kliknij element menu w programie, a zobaczysz, że został on zastąpiony niestandardowym skrótem

osx86x
źródło
2

Używam też Ctrl-Ins, Shift-Ins itp.

Opisane rozwiązanie znajduje się tutaj , a także ponowne mapowanie klawiszy Home i End, aby były bardziej podobne do systemu Windows, np

  • Otwórz TextEdit w folderze Aplikacje. Jeśli TextEdit był już otwarty, utwórz nowy dokument za pomocą Plik-> Nowy. Powinno być okno z etykietą „Bez tytułu”.
  • Wybierz tekst w oknie poniżej, skopiuj go, a następnie wklej do nowego okna TextEdit.
  • W TextEdit przekonwertuj to na zwykły tekst (domyślnie jest to tekst sformatowany), wybierając Format-> Utwórz zwykły tekst.
  • Następnie wybierz Plik-> Zapisz jako ... W oknie dialogowym „Zapisz jako” przejdź do katalogu domowego (spójrz pod MIEJSCA po lewej stronie, aby zobaczyć zdjęcie domu, które ma twoje imię obok). W katalogu domowym kliknij dwukrotnie folder Library. Jeśli zobaczysz folder KeyBindings, kliknij go dwukrotnie. Jeśli nie, kliknij „Nowy folder” (w katalogu Library), nazwij nowy folder KeyBindings (bez spacji), a następnie kliknij go dwukrotnie. Wpisz DefaultKeyBinding.dict jako nazwę pliku (u góry), a następnie kliknij Zapisz.
  • Ostrzeżenie: TextEdit czasami próbuje „pomóc”, dodając rozszerzenie .txt do nazwy pliku. Upewnij się, że tak się nie stanie. Jeśli zostaniesz poproszony o użycie rozszerzenia .txt, powiedz TextEdit, aby zamiast tego użył .dict. Nie będzie działać, jeśli używasz .txt. Jeśli masz problemy, zobacz komentarz Nathana poniżej.
  • Zanim zmiany zostaną wprowadzone, musisz się wylogować, a następnie zalogować ponownie.

Kod do wklejenia do ~/Library/KeyBindings/DefaultKeyBinding.dictpliku to:

/* ~/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 */
}
Matt Frear
źródło
Linki zewnętrzne mogą zniknąć. Odnieś się do najbardziej odpowiednich treści tutaj w swojej odpowiedzi, aby odpowiedź zawsze była tutaj, a link może służyć do głębszych badań.
kmarsh
Ha, zapomniałem, że nawet napisałem tę odpowiedź. Prawdopodobnie odświeżyłem komputer Mac 5 razy, odkąd go napisałem, i przyzwyczaiłem się do skrótów Mac wiele lat temu.
Matt Frear
0

Możesz zainstalować i skonfigurować aplikację Karabiner z następującą konfiguracją private.xmlpliku (edytuj w zakładce Różne ):

<?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>

i włącz nowo utworzony element po ponownym załadowaniu pliku na karcie Zmień klucz .

Powiązane: Remapuj tylko Ctrl + C, Ctrl + V i Ctrl-X

kenorb
źródło
-1

Nie mogę sprawić, by Karabiner Elements działał dla mnie dla Sierra, bez klucza Insert. W końcu zdecydowałem, że problem polega na tym, że używam lewej ręki do naciskania klawiszy modyfikujących (ctrl, cmd, opt) i mojej prawej do naciskania klawiszy nawigacyjnych (strzałki, strona główna, koniec, wstawianie, usuwanie). DLACZEGO Cmd-C i Cmd-V są takie niezręczne.

Więc eksperymentuję z (poprzez powyższe skróty klawiaturowe systemu):

  • Cmd- [dla kopiowania
  • Cmd- [dla Wklej
allenjom
źródło
1
Mam twardy czas widząc, jak jest to rzeczywista odpowiedź a nie komentarzem / feedback co do swoich prób / eksperymentów ..
Allan