วิธีย้ายเคอร์เซอร์ไปทีละคำใน OS X Terminal


762

ฉันรู้ว่าชุดค่าผสมCtrl+ Aเพื่อข้ามไปยังจุดเริ่มต้นของคำสั่งปัจจุบันและCtrl+ Eเพื่อข้ามไปยังจุดสิ้นสุด

แต่มีวิธีการข้ามคำต่อคำใด ๆ เช่นAlt+ / ในการใช้งาน Cocoa ไม่?


2
คุณใช้เปลือกอะไร ทุบตี?
Sargun Dhillon

4
iTerm2 นั้นดีกว่าเทอร์มินัลในตัวมาก ผมโพสต์คำแนะนำด้านล่างเกี่ยวกับวิธีการปรับแต่งแป้นพิมพ์ :)
CWD

21
ALTลัดได้รับการเพิ่มเทอร์ในรุ่นล่าสุด OS X
Mosty Mostacho

7
นี่ไม่ใช่หัวข้อในความคิดของฉันเปลือก Bash เป็นสภาพแวดล้อมการเขียนโปรแกรมที่เกี่ยวข้องและการเชื่อมโยง readline นั้นแพร่หลายในแอพพลิเคชั่น Linux CLI ยอดนิยม ดูจำนวน upvotes ที่ชุมชนพูดด้วย
GL2014

11
เปิดโหวตอีกครั้ง OS X Terminalถือว่าเป็นเครื่องมือการเขียนโปรแกรมเป็นอย่างมาก
djechlin

คำตอบ:


567

คุณสามารถใช้Esc+ ที่แปลกประหลาดมากFเพื่อย้ายไปยังจุดเริ่มต้นของคำถัดไปและEsc+ Bเพื่อเลื่อนไปยังจุดเริ่มต้นของคำปัจจุบัน


47
ไม่สะดวกที่จะกดปุ่มทั้งสองซ้ำอีกครั้งเพื่อเรียกใช้คำสั่งอีกครั้ง ฉันพบว่ามันค่อนข้างง่อยที่จะทำสิ่งนี้ใน Mac OSX Terminal เปรียบเทียบกับ GNOME Terminal
PhươngNguyễn

245
คุณสามารถเปิดใช้ "ตัวเลือกใช้เป็นคีย์เมตา" ในเทอร์มิ> การตั้งค่า> การตั้งค่า> [รายละเอียด]> คีย์บอร์ด จากนั้นคุณไม่จำเป็นต้องพิมพ์ Esc ด้วยตนเอง
Chris หน้า

7
นอกจากนี้หากคุณกดEsc+ Fเมื่อสิ้นสุดบรรทัดหรือคีย์ผสมอื่น ๆ ที่จุดเริ่มต้นของบรรทัดก็จะแทรกตัวอักษรแทน น่ารำคาญ!
Noldorin

10
เรื่อง“ แปลกประหลาด”:“ F” และ“ B” ย่อมาจาก“ Forward” และ“ Back” Control-F เลื่อนเคอร์เซอร์ไปข้างหน้าหนึ่งตัวอักษรและ Control-B เลื่อนเคอร์เซอร์กลับหนึ่งตัว การใช้ตัวปรับเปลี่ยน Meta (หรือ ESC) หมายถึง“ การย้ายคำ” นี่คือการเชื่อมโยงที่เข้ากันได้กับ emacs หากคุณกำลังใช้ทุบตีมีตัวเลือกที่จะใช้ผูก vi ~/.inputrcได้หรือคุณสามารถกำหนดได้เองทั้งหมดด้วย
Chris หน้า

5
การใช้ตัวเลือกเป็นเมตาน่าเสียดายที่ไม่ใช่ตัวเลือกสำหรับพวกเราที่ต้องการปุ่มตัวเลือกสำหรับการพิมพ์สัญลักษณ์เชลล์ที่สำคัญเช่น ~ และ | (เหมือนบนแป้นพิมพ์ภาษาฝรั่งเศส)
Eric O Lebigot

417

บน Mac OS X - แป้นพิมพ์ลัดต่อไปนี้ใช้งานได้ตามค่าเริ่มต้น โปรดทราบว่าคุณต้องทำให้ปุ่มตัวเลือกทำหน้าที่เหมือนMetaในการตั้งค่าเทอร์มินัล (ใต้แท็บแป้นพิมพ์)

  • alt (⌥)+ Fเพื่อกระโดดF orward ด้วยคำ
  • alt (⌥)+ Bเพื่อข้ามไปBรับด้วยคำ

ฉันได้สังเกตว่า emacs key-bindings ที่เป็นค่าเริ่มต้นสำหรับการนำทางข้อความแบบธรรมดาดูเหมือนจะใช้ได้กับ bash shells คุณสามารถใช้ได้

  • alt (⌥)+ Dเพื่อลบคำที่เริ่มต้นจากตำแหน่งเคอร์เซอร์ปัจจุบัน
  • ctrl+ Aเพื่อข้ามไปยังจุดเริ่มต้นของบรรทัด
  • ctrl+ Eเพื่อข้ามไปยังจุดสิ้นสุดของบรรทัด
  • ctrl+ Kเพื่อฆ่าเส้นที่เริ่มต้นจากตำแหน่งเคอร์เซอร์
  • ctrl+ Yเพื่อวางข้อความจากบัฟเฟอร์การทำลาย
  • ctrl+ Rเพื่อย้อนกลับค้นหาคำสั่งที่คุณพิมพ์ในอดีตจากประวัติของคุณ
  • ctrl+ Sเพื่อส่งต่อการค้นหา (ใช้งาน zsh สำหรับฉัน แต่ไม่ใช่การทุบตี)
  • ctrl+ Fเพื่อก้าวไปข้างหน้าโดยคนถ่าน
  • ctrl+ Bเพื่อย้ายไปข้างหลังโดยถ่าน
  • ctrl+ Wเพื่อลบคำข้างหลังออกจากตำแหน่งเคอร์เซอร์

1
ขอบคุณ! ฉันสงสัยว่าทำไมมันไม่ได้ผลนอกกรอบนั่นคือสิ่งที่ฉันต้องการ
Flov

11
คุณสามารถเปลี่ยนเมตาใน iterm2 ดังต่อไปนี้: การตั้งค่า -> โปรไฟล์ -> คีย์ -> ปุ่มตัวเลือกซ้ายทำหน้าที่เป็น+ESCแล้วคุณสามารถใช้ตัวเลือก f / b เพื่อเลื่อนคำไปข้างหน้าและข้างหลังตามลำดับ เพิ่มเติม
Alan Dong

5
[ Ctrl + W ] - เพื่อลบคำข้างหลังออกจากตำแหน่งเคอร์เซอร์
YemSalat

[ctrl + u] - เพื่อลบรายการทั้งหมด
Cornelius

286

นี่คือวิธีที่คุณสามารถทำได้

โดยค่าเริ่มต้นเทอร์มินัลมีทางลัดเหล่านี้เพื่อย้าย (ซ้ายและขวา) คำต่อคำ:

  • esc+ B(ซ้าย)
  • esc+ F(ขวา)

คุณสามารถกำหนดค่าalt+ และเพื่อสร้างลำดับเหล่านั้นสำหรับคุณ:

  • เปิดการตั้งค่าเทอร์มินัล ( cmd+ ,);
  • ที่แท็บการตั้งค่าเลือกแป้นพิมพ์และดับเบิลคลิก⌥ ←หากมีหรือเพิ่มหากไม่มี
  • ตั้งค่าตัวปรับเปลี่ยนตามต้องการและพิมพ์ปุ่มทางลัดในกล่อง: esc+ Bสร้างข้อความ\033b(คุณไม่สามารถพิมพ์ข้อความนี้ด้วยตนเอง)
  • ทำซ้ำสำหรับคำขวา ( esc+ Fกลายเป็น\033f)

หรือคุณสามารถอ้างถึงบล็อกโพสต์นี้ได้ที่ textmate:

http://blog.macromates.com/2006/word-movement-in-terminal/


7
สำหรับผู้ใช้ MacOSX 10+ และ iTerm: ไม่ว่าคุณจะกำหนดแป้นพิมพ์ลัดบนค่ากำหนดส่วนกลางหรือเป็นชุดคีย์โปรไฟล์ ให้แน่ใจว่าคุณเลือก: "ส่งลำดับหนี" ในแบบเลื่อนลงเลือกและใส่เพียงBสำหรับการกลับหรือFสำหรับไปข้างหน้าเข้าไปในEsc+สนาม
กัส

+1 สำหรับตัวช่วยจำที่ยอดเยี่ยมที่ฉันไม่ได้คิดไว้ก่อนหน้านี้ ฉันจะ / จำไม่ได้แน่นอนในตอนนี้เพราะฉันกำหนดค่าalt leftและalt rightสร้างลำดับเหล่านั้น
Arc676

หากฉันเพิ่มการจับคู่คีย์เข้ากับเทอร์มินัลจะผูกเข้ากับ '^ [B' แทน Esc-B
Andrea Bergonzo

164

สลับไปiTerm2 ได้ฟรีและดีกว่าเทอร์มินัลเก่าแบบธรรมดามาก นอกจากนี้ยังมีตัวเลือกเพิ่มเติมมากมายสำหรับการปรับแต่งเช่นแป้นพิมพ์ลัด

ฉันชอบที่คุณสามารถใช้cmdและ 1-9 เพื่อสลับระหว่างแท็บต่างๆ ลองแล้วคุณจะไม่กลับไปที่หน้าจอปกติ :)

วิธีตั้งค่าคีย์บอร์ดที่กำหนดเองใน iterm2

  • ติดตั้ง iTerm2
  • เปิดใช้แล้วไปที่บานหน้าต่างการตั้งค่า
  • เลือกแท็บโปรไฟล์แป้นพิมพ์
  • คุณจะต้องคัดลอกโปรไฟล์ไปยังสิ่งใหม่แล้วลบทางลัดแป้นลูกศรเช่น^+ Right/ Leftหรือถ้าคุณไม่สนใจเกี่ยวกับการสำรองข้อมูลเพียงแค่ลบพวกเขาออกจากโปรไฟล์เริ่มต้น
  • ถัดไปตรวจสอบให้แน่ใจว่าคุณได้เลือกโปรไฟล์ที่แก้ไขแล้ว (ติดดาว)

รูปที่ 1.png

  • ตอนนี้เลือกแท็บคีย์บอร์ด (แถวบนสุด)

iTerm 2

  • คลิกที่ปุ่มเครื่องหมายบวกเพื่อเพิ่มแป้นพิมพ์ลัดใหม่
  • ในช่องแรกพิมพ์CMD+Left arrow
  • ในช่องที่สองเลือก "ส่งรหัสหลบหนี"
  • ในกล่องที่สามพิมพ์ตัวอักษร B

รูปที่ 2.png

  • ทำซ้ำกับคีย์ผสมที่ต้องการ escape+ Bเลื่อนหนึ่งคำไปทางซ้ายescape+ fเลื่อนหนึ่งคำไปทางขวา
  • คุณอาจต้องการตั้งค่าcmd+ dเพื่อลบคำด้านหน้าเคอร์เซอร์ด้วยescape+d

ฉันมักจะกดปุ่มผิด ( cmd/ control/ alt) ด้วยปุ่มลูกศรดังนั้นฉันจึงมีปุ่มลูกศรผสมกับปุ่มเหล่านั้นทั้งหมดเพื่อข้ามไปข้างหน้าและย้อนกลับคำ แต่โปรดทำสิ่งที่เหมาะกับคุณที่สุด


4
ไม่ว่าฉันจะทำอะไรฉันไม่สามารถป้อนCtrl + Arrow LeftหรือRight- Upและใช้Downงานได้: / ลองด้วยและไม่มีโปรไฟล์ใหม่ที่ตั้งเป็นค่าเริ่มต้น
Tobi

4
วิธีแก้ปัญหา: ฉันต้องปิดการใช้งานทางลัดการควบคุมภารกิจภายใต้การตั้งค่าระบบ MacOS -> คีย์บอร์ด :)
Tobi

คำแนะนำข้างต้นไม่สามารถใช้งานกับ iTerm2 ได้อีก โปรดดูคำตอบด้านล่างของฉันสำหรับ iTerm2 Build 3.3.4
แขวน

150

จริงๆแล้วมีวิธีการที่ดีกว่ามาก กดค้างไว้option( altบนแป้นพิมพ์บางตัว) แล้วกดปุ่มลูกศรซ้ายหรือขวาเพื่อเลื่อนไปตามคำ เรียบง่ายเหมือนที่

option
option

นอกจากนี้ยังctrleจะนำคุณไปยังจุดสิ้นสุดของเส้นและctrlaจะนำคุณไปยังจุดเริ่มต้น


2
บางครั้งสิ่งนี้ไม่ทำงานในบางกรณี สำหรับผมเมื่อผมเปิด Terminal.app มันเป็นดี แต่สำหรับ IntelliJ ก็แค่พิมพ์และ[D [Cในการแก้ไขปัญหานี้เพิ่มbind '"[D": backward-word'และของฉันbind '"[C": forward-word' .bashrc
Jamie Counsell

@JamieCounsell ฉันได้เพิ่มสิ่งที่ผูกไว้กับของฉัน.bashrcแต่มันไม่ทำงานมีอะไรผิดปกติสำหรับฉัน (ฉันใช้ RubyMine)
2560

@ 张艳军ฉันไม่แน่ใจว่า RubyMine อ่าน.bashrcเมื่อเปิดเครื่องหรือไม่ ลองecho "here"และดูว่าข้อความนั้นแสดงขึ้นเมื่อคุณเปิดเทอร์มินัลใหม่หรือไม่ นอกจากนี้คุณต้องปิดและเปิดเทอร์มินัลใหม่หรือเรียกใช้source ~/.bashrcเพื่อรับไฟล์เพื่ออ่านไฟล์ใหม่
Jamie Counsell

79

ฉันมีAlt+ / การทำงาน: เปิดการตั้งค่า»แป้นพิมพ์การตั้งค่า»ตั้งรายการสำหรับเคอร์เซอร์ตัวเลือกที่เหลือจะส่งสตริงเปลือก: \ 033bและชุดลูกศรขวาตัวเลือกที่จะส่งสตริงเปลือก: \ คุณยังสามารถใช้สิ่งนี้สำหรับคีย์ผสมอื่น ๆ


20
ในการรับ \ 033b คุณจำเป็นต้องกด Esc แล้ว b
Matthew Schinckel

7
Enable option as meta keyฉันกับเสือดาวหิมะและพบว่ามันจะทำงานเฉพาะเมื่อคุณเปิดใช้ โดยวิธีการมันเจ๋งมาก ที่สำคัญคือแน่ใจว่าจะสะดวกกว่าที่จะไปถึง Esc + B หรือ Esc + F
PhươngNguyễn

2
ออกจากความวุ่นวายสิ่งที่เกิดขึ้นที่นี่? ทำไมรหัสนี้แตกต่างเพื่อเริ่มต้นด้วยใน OSX ฉันจะหารหัสอื่น ๆ ได้อย่างไร
Koobz

ใน mac ของฉันการตั้งค่า> โปรไฟล์> ปุ่มตัวเลือกคีย์ที่เหลือตั้งเป็น + Ecs
อรุณ

38

จริงๆแล้วมันขึ้นอยู่กับว่าคุณใช้เชลล์อะไรอย่างไรก็ตามเชลล์ส่วนใหญ่มีการผูกที่คล้ายกัน การเชื่อมที่คุณอ้างถึง (เช่นCtrl+ AและCtrl+ E) เป็นการเชื่อมโยงที่คุณจะพบในโปรแกรมอื่น ๆ อีกมากมายและมันถูกใช้เป็นเวลานาน BTW ยังทำงานในแอป UI ส่วนใหญ่

นี่คือลักษณะของการผูกค่าเริ่มต้นสำหรับ Bash:

แป้นพิมพ์ลัด Bash ที่สำคัญที่สุด

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

bind -f ~/.bash_key_bindings

~ หมายถึงโฮมไดเร็กตอรี่ใน bash, ตามที่ระบุไว้ข้างต้น, คุณสามารถตั้งชื่อไฟล์ตามที่คุณต้องการและวางไว้ในตำแหน่งที่คุณต้องการตราบใดที่คุณป้อนเส้นทางที่ถูกต้อง + ชื่อให้ผูก

ให้ฉันแสดงข้อความที่ตัดตอนมาบางส่วนของไฟล์. bash_key_bindings ของฉัน:

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

สิ่งเหล่านี้เป็นเพียงการตั้งค่าตัวเลือกสองสามอย่าง (เช่นปิดใช้งานเสียงระฆังซึ่งสามารถค้นหาได้ทั้งหมดบนเว็บเพจทุบตี)

"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

สิ่งเหล่านี้ทำให้แน่ใจว่าตัวละครเพียงอย่างเดียวไม่ทำอะไรเลย แต่ต้องแน่ใจว่าตัวละครนั้น "พิมพ์" (พวกเขาใส่ตัวเองลงในเปลือก)

"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line

มันค่อนข้างน่าสนใจ หากฉันกดCtrl+ Dคนเดียว (ฉันเลือก d เพื่อลบ) จะไม่มีอะไรเกิดขึ้น แต่ถ้าฉันพิมพ์ตัวพิมพ์เล็ก w คำที่ด้านซ้ายของเคอร์เซอร์จะถูกลบ อย่างไรก็ตามหากฉันพิมพ์ตัวพิมพ์ใหญ่คำว่าด้านขวาของเคอร์เซอร์จะถูกฆ่า กันไปสำหรับ l และ L เกี่ยวกับทั้งบรรทัดเริ่มต้นจากเคอร์เซอร์ หากฉันพิมพ์ "a" ทั้งบรรทัดจะถูกลบจริง ๆ (ทุกอย่างก่อนและหลังเคอร์เซอร์)

ฉันวางการกระโดดหนึ่งคำไปข้างหน้าบนCtrl+ Fและอีกหนึ่งคำข้างหลังบนCtrl+B

"\C-f": forward-word
"\C-b": backward-word

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

ดังนั้นหากคุณไม่พอใจกับการผูกค่าเริ่มต้นคุณสามารถปรับแต่งได้ตามต้องการ นี่คือลิงค์ไปยังคู่มือทุบตีสำหรับข้อมูลเพิ่มเติม


เป็นวิธีการcommandที่สำคัญรหัส? ในตัวอย่างของคุณcontrolคือ\Cแต่เป็นcommandอย่างไร
Paschalis

โดยทั่วไปฉันต้องการแม Ctrl + A เพื่อ cmd ซ้าย + (ไปที่จุดเริ่มต้นของบรรทัด)
Paschalis

1
@Paschalis บน MacOS X คีย์คำสั่งแมปไปMetaในทุบตี ( \M) Cmd + \M-\e[Dซ้ายจะเป็น อย่างไรก็ตามคุณไม่สามารถแมป cmd + ... กับทุกสิ่งได้ทางลัดคำสั่งทั้งหมดจะได้รับการจัดการ (และถูกกลืน) โดยแอป Terminal เอง (ที่ไม่เคยถูกส่งต่อไปยังเชลล์) และ cmd + แผนที่ซ้ายไปที่ "หน้าต่างก่อนหน้า" หากคุณมีหลาย เปิดหน้าต่างเทอร์มินัล ขออภัยมันเป็นไปไม่ได้ด้วยแอป Terminal
Mecki

18

ใช้การแก้ไขข้อความที่เป็นธรรมชาติที่ตั้งไว้!

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

โดยพื้นฐานแล้วมันจะโยงกับลำดับของคีย์อื่น ๆ Option + LeftArrow ไปยัง^[bลำดับและ Option + RightArrow ไปยัง^[f

สิ่งนี้ใช้ได้กับปลาและทุบตีเช่นเดียวกับในสถานี psql


นี่เป็นวิธีที่มีประสิทธิภาพที่สุดในการตั้งค่าการแมปแบบเก่าที่ดีสำหรับคีย์ ขอบคุณ!
fedesismo

ในกรณีที่คนอื่นสับสนเช่นฉันโปรดทราบว่าค่าที่ตั้งล่วงหน้านี้จะใช้ได้เฉพาะภายใต้แท็บย่อยคีย์โปรไฟล์ไม่ใช่แท็บคีย์ระดับบนสุด
ben-albrecht

15

หากคุณเป็นผู้ใช้ Vim คุณสามารถลองใช้โหมด vim ของ bash ได้ เรียกใช้หรือวางไว้ใน~/.bashrcไฟล์ของคุณ:

set -o vi

คุณจะอยู่ในโหมดแทรก หลบหนีตีและคุณสามารถย้ายไปรอบ ๆ เช่นเดียวกับที่คุณสามารถในโหมดปกติที่เป็นกลุ่มเพื่อให้การเคลื่อนไหวโดยคำwหรือbและปุ่มเคลื่อนไหวตามปกตินอกจากนี้ยังมีการทำงาน


15

หากคุณตรวจสอบUse option as meta keyในแท็บแป้นพิมพ์ของการตั้งค่าแล้วคำสั่งรูปแบบ emacs เริ่มต้นสำหรับไปข้างหน้าและย้อนกลับคำและ⌥F( Alt+ F) และ⌥B( Alt+ B) ตามลำดับ

ผมอยากแนะนำให้อ่านจากทุบตีถึง Z-เชลล์ หากคุณต้องการเพิ่มความแรงของ bash / zsh!


1
ใช่มันใช้ได้ผล แต่ปัญหาคือเมื่อฉันต้องการพิมพ์วงเล็บปีกกา ([] {} |) ซึ่งอยู่ใน Option-7, Option-8 และ Option-9 ตัวเลือกตอนนี้คือเมตาดังนั้นมันจึงจบลงด้วย Meta-7, Meta-8 ... ความคิดใดบ้าง
มาร์ติน Wickman

12

ในฐานะของระบบปฏิบัติการ Mac OS X Lion 10.7, เทอร์มิแผนที่Option- Left/Right Arrowเพื่อEsc- b/fโดยค่าเริ่มต้นนี้จึงถูกสร้างขึ้นในขณะนี้สำหรับการทุบตีและโปรแกรมอื่น ๆ ที่ใช้ keybindings เหล่านี้ emacs ที่เข้ากันได้


12

กดปุ่มตัวเลือกค้างไว้แล้วคลิกตำแหน่งที่คุณต้องการเลื่อนเคอร์เซอร์


1
ไม่ใช่วิธีแก้ปัญหาที่ไม่ดี
duyn9uyen

8

ในทุบตีเหล่านี้จะผูกพันEsc- Bและ-Esc FBash มีแป้นพิมพ์ลัดอื่น ๆ อีกมากมาย ลองดูที่ผลลัพธ์ของbind -pเพื่อดูว่ามันคืออะไร


4

ภายใต้iterm2's การตั้งค่า> ส่วนตัว> คีย์คุณคลิก+ด้านล่างที่สำคัญแมปและบันทึกทางลัดใหม่ สำหรับการกระทำให้เลือกSend Escape Sequenceและพิมพ์bหรือfไปข้างหลังและไปข้างหน้าตามลำดับ

เมื่อฉันพยายามบันทึกหนึ่งสำหรับ ( Ctrl+ ) ฉันสังเกตเห็นในฟิลด์แป้นพิมพ์ลัดที่ลูกศรไม่ปรากฏ กลับกลายเป็นว่าฉันต้องปิดการใช้งานการตั้งค่าระบบของ Mac เริ่มต้น> แป้นพิมพ์> ทางลัด> shorcuts ของการควบคุมภารกิจก่อนเพื่อให้สิ่งต่าง ๆ ทำงานได้เนื่องจากจะแทนที่ทางลัดเริ่มต้นของ iterm2 ควรเป็นจริงสำหรับแอปเทอร์มินัลมาตรฐานเช่นกัน

การตั้งค่าระบบคีย์บอร์ด


1

คำตอบใหม่สำหรับผู้ใช้ iTerm2 Build 3.3.4:

ขั้นตอนที่ 1: (macOS X) การตั้งค่าระบบ> แป้นพิมพ์> แท็บทางลัด> เลือกการควบคุมภารกิจ (แผงด้านซ้าย)> ยกเลิกการเลือกทางลัดที่ระบุว่าเป็น "ย้ายช่องว่างทางซ้าย" และ "เลื่อนไปทางขวาเว้นวรรค"

ขั้นตอนที่ 2: (iTerm2 Build 3.3.4) ค่ากำหนด> โปรไฟล์> เลือก * ค่าเริ่มต้น (แผงด้านซ้าย)> แท็บคีย์> ลบทั้งรายการ "⌥->" และ "⌥ <-"> ตั้งค่าทั้งสอง "คีย์ตัวเลือกซ้าย (⌥): "และ" คีย์ตัวเลือกขวา (⌥): "ถึง Esc +

ไม่ยุ่งกับโพรไฟล์เชลล์, ไม่ยุ่งกับเทอร์มินัล masOS ที่ด้อยกว่า, ค่าเริ่มต้น, ไม่น่าอึดอัดใจ Esc + F / B, ล้างและทำซ้ำโดยไม่ใช้ความรู้สึก

เสร็จสิ้นการจัดการ !!!

สนุกไปกับเคล็ดลับนี้เพื่อนร่วมโปรแกรมของฉัน!


0

ขณะที่ก่อนหน้านี้ตอบคุณสามารถเพิ่มset -o viของคุณใน~/.bashrcการใช้vi/ vimผูกที่สำคัญหรืออื่น ๆ คุณสามารถเพิ่มต่อไปมีส่วนร่วมใน.bashrcการย้ายไปอยู่กับCtrlและปุ่มลูกศร:

# bindings to move 1 word left/right with ctrl+left/right in terminal, just some apple stuff!
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
# bindings to move 1 word left/right with ctrl+left/right in iTerm2, just some apple stuff!
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'

เพื่อเริ่มผลของบรรทัดของรหัสเหล่านี้source ~/.bashrcหรือเริ่มเซสชันเทอร์มินัลใหม่

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