มีวิธีใดที่จะให้ OS X ทำงานตามปกติกับ X-windows ซึ่งการเลือกข้อความในแอปพลิเคชันใด ๆ จะคัดลอกมันไปยังคลิปบอร์ดโดยอัตโนมัติและปุ่มกลางของเมาส์จะวางโดยอัตโนมัติ?
มีวิธีใดที่จะให้ OS X ทำงานตามปกติกับ X-windows ซึ่งการเลือกข้อความในแอปพลิเคชันใด ๆ จะคัดลอกมันไปยังคลิปบอร์ดโดยอัตโนมัติและปุ่มกลางของเมาส์จะวางโดยอัตโนมัติ?
คำตอบ:
นี้ได้รับการกล่าวถึงอยู่แล้ว (และตอบ) บนapple.stackexchange.com คำตอบที่ได้รับการยอมรับในการสนทนานั้นคือใช้ Better Touch Tool
อย่างไรก็ตามโซลูชันทั้งหมดที่แนะนำให้ใช้เครื่องมือบางอย่างในการแมปคลิกเมาส์ไปที่ Cmd-V ไม่ได้เลียนแบบพฤติกรรมของ X อย่างสมบูรณ์ซึ่งคุณสามารถมีเนื้อหาที่แตกต่างกันในบัฟเฟอร์ที่ควบคุมด้วยเมาส์และบัฟเฟอร์ที่ควบคุมด้วยแป้นพิมพ์ (เช่นคุณ สามารถวางสองสายที่แตกต่างกันขึ้นอยู่กับว่าคุณคลิกกลางหรือกด CTRL-V)
สำหรับจดหมายเหตุ: สิ่งที่คุณต้องการใช้งานได้จริงในเทอร์มินัล†แต่ในหน้าต่างเทอร์มินัลเดียวกันเท่านั้น:
เลือกข้อความ (และปล่อยปุ่มเมาส์) แล้วใช้ปุ่มกลางของเมาส์เพื่อวาง
หรือเมื่อใช้แทร็คแพดหรือเมาส์สองปุ่มหลังจากเลือกแล้วให้คลิกและลากส่วนที่เลือกเพียงเล็กน้อย คุณจะเห็นการเปลี่ยนแปลงของตัวชี้ ตอนนี้เมื่อคุณปล่อยปุ่มข้อความที่เลือกจะถูกวางที่เคอร์เซอร์ของคุณ กดปุ่ม Esc ในขณะที่ลากการยกเลิก
†แน่นอน Terminal เป็นหนึ่งในหลาย ๆ โปรแกรม แต่สำหรับฉันมันเป็นที่เดียวที่ฉันต้องการพฤติกรรมนี้จริง ๆ เพียงเพราะความคิดเห็นของ Spiffเกี่ยวกับความสามารถในการแทนที่ (เมาส์) ข้อความที่เลือกด้วยสิ่งที่อยู่บนคลิปบอร์ด
หากคุณต้องการเทอร์มินัลคุณสามารถติดตั้งiTerm2ซึ่งเป็นเทอร์มินัลที่มี X windows ตัดและวาง
ฉันลองใช้ Terminal (OS X El Capitan เวอร์ชัน 10.11.5) กระบวนการที่ฉันใช้คือ:
การปฏิเสธความรับผิด : ฉันยังไม่ได้ทดสอบนี้เพราะฉันไม่มี mac แต่เนื้อหามีขนาดใหญ่เกินไปที่จะโพสต์เป็นความคิดเห็น ดังนั้นฉันโพสต์มันเป็นคำตอบแทน
ฉันเป็นผู้ใช้ windows และมีการใช้งานฟังก์ชั่นเดียวกันแน่นอนใน windows โดยใช้สคริปต์ที่เขียนขึ้นสำหรับโปรแกรมที่เรียกว่า Autohotkey
ตอนนี้ตามคำถามนี้ IronAHK เรียกใช้สคริปต์ AHK บน Mac
นี่คือสิ่งที่ฉันใช้สำหรับ windows (Ofcourse คุณจะต้องปรับแต่งมันมากเพื่อให้มันทำงานได้):
cos_mousedrag_treshold := 20 ; pixels
#IfWinNotActive ahk_class ConsoleWindowClass
~lButton::
MouseGetPos, cos_mousedrag_x, cos_mousedrag_y
keywait lbutton
mousegetpos, cos_mousedrag_x2, cos_mousedrag_y2
if (abs(cos_mousedrag_x2 - cos_mousedrag_x) > cos_mousedrag_treshold
or abs(cos_mousedrag_y2 - cos_mousedrag_y) > cos_mousedrag_treshold)
{
wingetclass cos_class, A
if (cos_class == "Emacs")
sendinput !w
else
sendinput ^c
}
return
~mbutton::
WinGetClass cos_class, A
if (cos_class == "Emacs")
SendInput ^y
else
SendInput ^v
return
#IfWinNotActive
;; clipx
^mbutton::
sendinput ^+{insert}
return
เครดิตสคริปต์ไปนี้โพสต์ ลองทดสอบและแสดงความคิดเห็นหากคุณสามารถทำให้มันใช้งานได้ ฉันจะพยายามช่วยให้มากที่สุด
ในขณะเดียวกันให้ดูที่นี้เช่นกัน แต่ฉันไม่คิดว่ามันจะสูงพอสำหรับฟังก์ชั่นที่คุณต้องการ
ในฐานะที่เป็นผู้ใช้งาน linux มาเป็นเวลานานฉันจึงพยายามค้นหาฟังก์ชั่นดังกล่าวใน osx ทำเครื่องหมายถูกต้อง - iTerm เป็นคำตอบพร้อมการตั้งค่าบางอย่างในการตั้งค่า X11 เยี่ยมชมที่นี่สำหรับข้อมูลเพิ่มเติม
ฉันใช้ BetterTouchTool และได้ตั้งค่าให้จำลองปุ่มกลางของเมาส์ในแอปพลิเคชัน Terminal ด้วยการคลิกสามครั้ง
คุณอาจลองเล่นซอโดยตั้งค่าเมาส์เพื่อดูว่าไดรเวอร์ให้คุณกำหนดฟังก์ชั่นการวางเพื่อคลิกกลาง ถ้าไม่ลองมองเข้าไปในOverdrive USB
สำหรับ copy-on-select ฉันไม่รู้ว่ามีซอฟต์แวร์ใดที่ให้ฟังก์ชันนี้แก่คุณและตัดสินจากสิ่งที่ฉันสามารถหาได้บน Google ไม่มีใครน่าจะมีอยู่จริง
ฉันไม่มี mac ดังนั้นฉันจึงไม่สามารถตรวจสอบสิ่งนี้ได้และเนื้อหานั้นยาวเกินไปสำหรับความคิดเห็นเท่านั้นดังนั้นฉันจึงโพสต์มันเป็นคำตอบ บางทีมันอาจเป็นประโยชน์ต่อผู้อื่น
Solution1:
ไปที่การตั้งค่า X11 - เน้น "จำลองปุ่มเมาส์ 3 ปุ่ม"
ตอนนี้คลิกกลางตัวเลือก = + คลิก
ไฮไลต์ / วางจะทำงานเหมือนใน Linux
Solution2:
อีกวิธีหนึ่งคือการติดตั้งเครื่องมือสัมผัสที่ดีกว่านี้ช่วยให้คุณสามารถกำหนดคำสั่งของคุณเองไปยังท่าทางเมาส์ / ทัชแพดที่แตกต่างกัน
มันเป็นหนึ่งในขั้นตอนมากกว่าไฮไลต์ = คัดลอก แต่ก็ยังดีกว่าแป้นพิมพ์ลัด
จากhintforums Macworld
ฉันรู้ว่านี่ไม่เหมือนกันทุกประการ แต่ถ้าคุณเลือกข้อความและคลิกขวาคุณจะมีตัวเลือกให้คัดลอก เมื่อสิ่งที่อยู่บนกระดาษแข็งคลิกขวาสามารถวางได้เช่นกัน
ฉันหลงกลด้วยเม้าส์ขนาดใหญ่หลายปุ่มของ Logitech และไม่สามารถทำอะไรได้เหมือนกับที่คุณอธิบายถึงแม้ว่าตัวเลือกอย่างใดอย่างหนึ่งคือปุ่ม "คลิกกลาง"
ธีโอ