ฉันจะกำหนดแป้นพิมพ์ลัดสำหรับคัดลอก / วางใหม่ได้อย่างไร


31

ฉันใช้ mac มาหลายปีแล้ว แต่ต้องการพัฒนาซอฟต์แวร์บน windows ฉันคุ้นเคยกับการใช้ทางลัด folowing บน windows อย่างมาก:

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

สายไปแล้วที่ฉันต้องทำแม้แต่การพัฒนาบน Mac อย่างไรก็ตามตามนิสัยฉันคิดถึงทางลัดเหล่านี้เป็นอย่างมาก ที่จริงแล้วฉันพบว่าสะดวกกว่าคอมโบคอมมาน + (C / V / X) มากกว่า

อย่างน้อยมีวิธีกำหนดทางลัดทั้งสามนี้อีกครั้งหรือไม่

ฉันดูทั่วอินเทอร์เน็ตและในการตั้งค่าระบบ "Keyboards" แต่ฉันไม่พบอะไรเลย

PS: หากคุณสงสัยว่าฉันหาคีย์ INSERT บน mac book pro ได้อย่างไรฉันจะใช้คีย์บอร์ดไร้สาย


ที่เกี่ยวข้อง: ทำการแมป Ctrl + C, Ctrl + V และ Ctrl-X เท่านั้น
kenorb

คำตอบ:


14
System Preferences: Keyboard: Modifier Keys...

จากนั้นสลับคีย์ Command และ Control สิ่งนี้จะเปลี่ยนแปลงทุกสิ่งทั่วโลกสำหรับคำสั่งแป้นพิมพ์ทั้งระบบ

ป้อนคำอธิบายรูปภาพที่นี่


3
วิธีใดที่จะทำให้ command + left หรือ command + right ไปหนึ่งคำทางซ้ายหรือหนึ่งคำทางขวาแทน home and end?
trusktr

2
ฉันหวังว่าจะมีการสำรวจความคิดเห็นที่ไหนสักแห่งของผู้ใช้ mac ที่ทำให้สวิตช์นี้จริง
Micro

2
สิ่งนี้ยังทำให้ความวุ่นวาย ALT-TAB ที่รักของเรา!
Cyril Duchon-Doris

5
<SHIFT> + INSERT นี้คือการตอบอย่างไร
โฆษณา

37

สิ่งนี้ใช้งานได้ดีมากสำหรับฉันที่จะให้บริการเฉพาะคุณสมบัติการตัด / วาง / คัดลอกที่ฉันใช้บ่อยป้อนคำอธิบายรูปภาพที่นี่


2
สิ่งนี้ทำงานได้ไม่ดีนักในบางแอพเช่น Finder ปัญหาคือบางครั้งรายการเมนูชื่อ "คัดลอก 6 รายการ" หรือคัดลอก file.txt แล้วมันใช้งานไม่ได้
Mike Blandford

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 ขอบคุณมาก. ฉันจะลองอ่านลิงค์ต่างๆ ดูครั้งแรกผมไม่เข้าใจส่วนใหญ่ของสิ่งที่อยู่ในการเชื่อมโยงเหล่านี้ :)
รหัสกวี

3
สร้างบัญชีเพื่อแก้ไขสิ่งนี้ ในที่สุด KeyRemap4MacBook ทำให้ฉันสามารถใช้ ctrl / shift + ins / del บน mac ได้ทำให้การเข้ารหัสของฉันเร็วขึ้นมาก ฉันเคยเป็นคู่กับ DoubleCommand, keymaps ที่กำหนดเอง ฯลฯ แต่อันนี้เพิ่งทำงานออกจากกล่อง
Arne

1
@Arne น่าเสียดายที่แอปพลิเคชันหยุดทำงานกับ Sierra Update วิธีการใช้ไฟล์ KeyBindings ไม่เคยทำงานให้ฉันเลย
ficuscr

2

System Preferences -> Keyboard -> Keyboard Shortcuts

คุณสามารถเปลี่ยน (หรือกำหนด) ปุ่มลัดหลายปุ่มได้โดยค้นหาจากรายการจากนั้นคลิกที่ปุ่มที่กำหนดจากนั้นพิมพ์ปุ่มใหม่เพื่อแทนที่

ในการแทนที่ (ตัวอย่าง) การดำเนินการ "คัดลอก" ในโปรแกรมเฉพาะเพิ่มรายการสำหรับโปรแกรมที่คุณกำลังใช้ (หรือสำหรับโปรแกรมทั้งหมด) ในกล่องชื่อเมนูพิมพ์ข้อความเมนูของรายการ i (เช่นคัดลอก) เป็นข้อความ รีสตาร์ทแอปพลิเคชันแล้วคลิกที่รายการเมนูภายในโปรแกรมคุณจะพบว่าสิ่งนี้ถูกแทนที่ด้วยทางลัดที่กำหนดเอง


2

ฉันใช้ Ctrl-Ins, Shift-Ins และอื่น ๆ ด้วย

วิธีการแก้ปัญหาที่อธิบายอยู่ที่นี่เช่นเดียวกับการแมปปุ่ม Home และ End เพื่อให้เหมือน Windows มากกว่า

  • เปิด TextEdit ภายใต้โฟลเดอร์ Applications หาก TextEdit เปิดอยู่แล้วให้สร้างเอกสารใหม่โดยใช้ไฟล์ -> ใหม่ ควรมีหน้าต่างชื่อ 'ไม่มีชื่อ'
  • เลือกข้อความภายในหน้าต่างด้านล่างคัดลอกแล้ววางลงในหน้าต่าง TextEdit ใหม่ของคุณ
  • ใน TextEdit แปลงสิ่งนี้เป็นข้อความธรรมดา (ค่าเริ่มต้นคือ rich text) โดยเลือก Format-> Make Plain Text
  • ถัดไปเลือกไฟล์ -> บันทึกเป็น ... ในกล่องโต้ตอบ "บันทึกเป็น" นำทางไปยังไดเรกทอรีบ้านของคุณ (ดูภายใต้ PLACES ทางด้านซ้ายสำหรับรูปภาพบ้านที่มีชื่อของคุณอยู่ข้างๆ) ในโฮมไดเรกทอรีของคุณคลิกสองครั้งที่โฟลเดอร์ Library หากคุณเห็นโฟลเดอร์ KeyBindings ให้ดับเบิลคลิกที่มัน หากไม่เป็นเช่นนั้นให้คลิกที่ "New Folder" (ภายในไดเรกทอรี Library) ตั้งชื่อ 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 */
}

ลิงก์ภายนอกสามารถหายไปได้ โปรดเชื่อมโยงเนื้อหาที่เกี่ยวข้องมากที่สุดในคำตอบของคุณดังนั้นคำตอบจะอยู่ที่นี่เสมอและลิงก์สามารถให้บริการสำหรับการวิจัยที่ลึกซึ้งยิ่งขึ้น
kmarsh

ฮาฉันลืมฉันได้เขียนคำตอบนี้ด้วย ฉันอาจ repaved Mac ของฉัน 5 ครั้งตั้งแต่ฉันเขียนมันและคุ้นเคยกับทางลัดของ Mac มาหลายปีแล้ว
Matt Frear

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

ฉันไม่สามารถทำให้องค์ประกอบของคาราไบเนอร์ทำงานให้ฉันเพื่อเซียร่าได้โดยไม่ต้องใส่คีย์ ในที่สุดฉันก็ตัดสินใจว่าปัญหาคือฉันใช้มือซ้ายกดปุ่มตัวปรับเปลี่ยน (ctrl, cmd, opt) และมือขวาของฉันเพื่อกดปุ่มนำทาง (ลูกศรบ้านปลายวางแทรกลบ) นั่นเป็นเหตุผลว่าทำไม Cmd-C และ Cmd-V นั้นช่างน่าอึดอัดใจมาก

ดังนั้นฉันกำลังทดสอบกับ (ผ่านทางแป้นพิมพ์ลัดของระบบด้านบน):

  • Cmd- [สำหรับการคัดลอก
  • Cmd- [สำหรับวาง

1
ฉันมีเวลายากที่จะเห็นว่านี่เป็นคำตอบที่แท้จริงและไม่ได้แสดงความคิดเห็น / ข้อเสนอแนะเกี่ยวกับการทดลอง / การทดลองของคุณ ..
Allan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.