iTerm2 Vim alt + ลูกศรขวา / ซ้าย


13

ในฐานะที่เป็นผู้ใช้ลินุกซ์, ฉันกำลังใช้มากที่จะกระโดดลงมาจากคำคำในกลุ่ม / นาโนโดยใช้ALT+ หรือleftright

ดูเหมือนว่าจะไม่ทำงานอย่างถูกต้องโดยใช้ iTerm ฉันใช้ zsh ฉันพยายามเพิ่ม

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

มันใช้งานได้ แต่ภายใน zsh เท่านั้นจากนั้นฉันแสดงความคิดเห็นบรรทัดเหล่านั้นและเพิ่มทางลัดบนคีย์บอร์ด iTerm ใน iTerm

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

มันใช้งานได้ แต่เฉพาะสำหรับ ALTleft

ฉันจะทำให้ลูกศรทำงานด้วยหรือไม่

คำตอบ:


10

ในคุณสมบัติของ iTerm ไปที่ Profiles -> Keys และการตั้งค่าที่นั่น

  • สำหรับ⌥→ลำดับการส่งของ Escape[1;5C
  • สำหรับ⌥←ลำดับการส่งของ Escape[1;5D

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


นั่นไม่ได้ผลสำหรับฉัน ลำดับ escape จะถูกส่ง แต่เสียงเรียกเป็นไปได้ที่จะย้ายหนึ่งช่องว่างไปมา การใช้ค่าเริ่มต้น vim 7.3 ที่มาพร้อมกับ OS X 10.8 เป็นการดีที่ฉันต้องการเปลี่ยนด้านข้างของกลุ่มไม่ปรับเปลี่ยนค่าเริ่มต้นของ Terminal emulator (เนื่องจากจะทำให้พกพาได้ดีขึ้น)
slhck

แปลกใช้งานได้ทั้งในกลุ่ม (จาก homebrew ไม่ใช่รุ่นเริ่มต้น) และ zsh พร้อมการกำหนดค่าเริ่มต้นจาก oh-my-zsh (ใน ~ / .oh-my-zsh / lib / key-bindings.sh)
eiennohito

ไม่ทำงานที่นี่เช่นกันฉันสามารถใช้ alt + ลูกศรด้านใน zsh ใน Vim ใช้ได้กับ shift + arrow :(
seds

ฉันตรวจสอบอีกครั้งบนระบบรีโมตที่มีอยู่ (ubuntu 13.04, debian ที่เสถียรและ linux ทางวิทยาศาสตร์) และทำงานได้ทุกที่ เอาต์พุตเมื่อคุณกด Control + V, ⌥→ สำหรับฉันมันคือ ^ [[1; 5C
eiennohito

ได้ผลสำหรับฉัน: iTerm / Vi + zsh
Petro Semeniuk

7

เริ่มต้นด้วยการดูรหัสคีย์เทอร์มินัลของคุณกำลังส่งไปยังกลุ่ม:

$ sed -n l
^[[1;9D 

ในตัวอย่างข้างต้นผมวิ่งคำสั่ง sed Alt + Leftและกด

^[[1;9Dเป็นลำดับหนีถูกส่งไปเป็นกลุ่มเพื่อให้เราสามารถใช้สำหรับการทำแผนที่ของเรา

เพิ่มไปยัง vimrc:

map <Esc>[1;9D :tabn<CR>

ขอบคุณที่ใช้งานได้สำหรับฉัน
j5shi

1

ฉันอ่านโพสต์อื่นที่อธิบายว่าสำหรับตัวเลือกด้านซ้ายและตัวเลือกที่ถูกต้องคุณต้องผูกมันไว้กับการกระทำ ^ [b และ ^ [f ตามลำดับ นั่นคือคุณผูกไว้กับ "ส่งลำดับหนี" และผูกคีย์ b และ f

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


1
+1! ฉันพบคำแนะนำที่คล้ายกันที่นี่: coderwall.com/p/h6yfda/ …
Cam Jackson

0

ไม่มีคำตอบใดที่เหมาะกับฉัน ฉันสิ้นสุดโหลดลินุกซ์ VM <Alt-ARROW>และการตรวจสอบสิ่งที่ฉันต้องการได้รับด้วย

4 escape sequences ที่เหมาะกับฉันคือ:

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

โปรดระมัดระวังในการแก้ไขคีย์โปรไฟล์และไม่ใช่คีย์หลักที่จะถูกแทนที่โดยโปรไฟล์ (ซึ่ง Alt + Arrows ถูกตั้งค่าตามค่าเริ่มต้นเป็น Hex Sequence ซึ่งไม่ได้ทำงานกับ vim)


-1

เป็นวิธีแก้ปัญหาอื่น ๆ ที่เป็นไปได้กลุ่มนำเสนอการเคลื่อนไหวของคำด้วยตัวเองดู:

:help word-motions

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