เป็นไปได้หรือไม่ที่จะมีการผูกคีย์กลุ่มในเทอร์มินัล


42

ฉันคุ้นเคยกับการผูกข้อความ (เช่นกด w เพื่อไปยังคำ, dw เพื่อลบคำและอื่น ๆ ) และมันเป็นโหมด (แทรก, ปกติ, ภาพ) และจากความอยากรู้อยากเห็น: มีบางอย่าง การใช้งานลักษณะการทำงานของโหมดและการเชื่อมโยงจากกลุ่มไปยังเทอร์มินัลของฉันเป็นอย่างไร

มีโหมดแทรกโหมดปกติและเช่น ...

คำตอบ:


45

มันมีโหมดแทรกและโหมดปกติ (โหมดแทรกเป็นค่าเริ่มต้นและยกเว้นสำหรับโหมดปกติ) แต่ไม่มีโหมดภาพ

ใน bash: set -o viคุณสามารถเรียกใช้ได้ที่บรรทัดคำสั่งสำหรับเซสชันนี้หรือเพิ่มลงในไฟล์. bashrc ของคุณ

มีหลายโปรแกรมที่ใช้readlineสำหรับการป้อนข้อมูลและคุณสามารถทำให้โปรแกรมใด ๆ ใช้ keybindings แบบ vi โดยการตั้งค่าของคุณ.inputrcด้วย

set editing-mode vi
set keymap vi

ใน zsh หากคุณเปลี่ยนEDITORตัวแปรสภาพแวดล้อมเชลล์จะจับคู่กับมัน


1
สวยเนี๊ยบ คุณรู้หรือไม่ว่ามันเป็นไปได้ที่จะมี. vimrc บางส่วนเช่นกัน แต่สำหรับการใช้งานนี้ ตัวอย่างเช่นการเพิ่มการจับคู่ที่แตกต่างกันใน <ESC> ...
ใครบางคนยังคงใช้ MS-DOS ของคุณ

2
@Somebody: ไม่ใช่.vimrcเพราะคุณยังคงใช้เอดิเตอร์ในตัวของเชลล์อยู่ แต่คุณสามารถกำหนดค่าการเชื่อมโยงคีย์.inputrcสำหรับแอปพลิเคชัน readline ทั้งหมด (เช่น bash), .bashrcสำหรับ bash โดยเฉพาะ.zshrcสำหรับ zsh
Gilles 'หยุดชั่วร้าย'


3
โปรดทราบว่าใน OS X คุณจะต้องใส่เครื่องหมายput -o vi~ / .bash_profile แทน ~ / .bashrc
Steve Jorgensen

6
ฉันสังเกตเห็นว่ารูปลักษณ์ของเคอร์เซอร์จะไม่เปลี่ยนแปลงในโหมดต่างๆการเชื่อมโยงคีย์ bash w / vi มีวิธีใดบ้างที่จะทำเช่นนั้น? มันจะเป็นการดีถ้ามีตัวบ่งชี้ที่มองเห็นได้ว่าฉันกำลังอยู่ในโหมดใด
Steve Jorgensen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.