มีวิธีเร่งความเร็วการนำทาง Linux CLI หรือไม่เมื่อฉันต้องป้อนคำสั่งยาว ๆ ? ฉันเพียงแค่ใช้ลูกศรตอนนี้และ - ถ้าฉันมีคำสั่งยาวมันต้องใช้เวลาพอสมควรตั้งแต่เริ่มต้นของคำสั่งจนถึงตรงกลาง
มีวิธีการเช่นข้ามไปที่ตรงกลางของคำสั่งโดยไม่ใช้ลูกศรหรือไม่
มีวิธีเร่งความเร็วการนำทาง Linux CLI หรือไม่เมื่อฉันต้องป้อนคำสั่งยาว ๆ ? ฉันเพียงแค่ใช้ลูกศรตอนนี้และ - ถ้าฉันมีคำสั่งยาวมันต้องใช้เวลาพอสมควรตั้งแต่เริ่มต้นของคำสั่งจนถึงตรงกลาง
มีวิธีการเช่นข้ามไปที่ตรงกลางของคำสั่งโดยไม่ใช้ลูกศรหรือไม่
คำตอบ:
การโยงคีย์การแก้ไขบรรทัดที่มีประโยชน์บางอย่างที่จัดเตรียมโดยไลบรารีReadline :
Ctrl-A
: ไปที่จุดเริ่มต้นของบรรทัดCtrl-E
: ไปที่ท้ายบรรทัดAlt-B
: ข้ามไปข้างหลังหนึ่งคำAlt-F
: ข้ามไปข้างหน้าหนึ่งคำCtrl-U
: ลบที่จุดเริ่มต้นของบรรทัดCtrl-K
: ลบไปที่ท้ายบรรทัดAlt-D
: ลบต่อท้ายคำAlt-A
เปิดเมนูแทนการเลื่อนเคอร์เซอร์ คุณใช้Alt-A
กับ Gnome อย่างไร ฉันหมายถึง Gnome เป็นค่าเริ่มต้นดังนั้นจึงเป็นไปได้ว่าใครก็ตามที่อ่านข้อความนี้จะเรียกใช้เทอร์มินัลใน Gnome
ทางลัดเพิ่มเติมจากที่นี่
Ctrl + a – go to the start of the command line
Ctrl + e – go to the end of the command line
Ctrl + k – delete from cursor to the end of the command line
Ctrl + u – delete from cursor to the start of the command line
Ctrl + w – delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – move between start of command line and current cursor position (and back again)
Alt + b – move backward one word (or go to start of word the cursor is currently on)
Alt + f – move forward one word (or go to end of word the cursor is currently on)
Alt + d – delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – make uppercase from cursor to end of word
Alt + l – make lowercase from cursor to end of word
Alt + t – swap current word with previous
Ctrl + f – move forward one character
Ctrl + b – move backward one character
Ctrl + d – delete character under the cursor
Ctrl + h – delete character before the cursor
Ctrl + t – swap character under cursor with the previous one
หากคุณเป็นผู้ใช้ vi [m] และผู้ใช้ bash คุณอาจพบว่ามีประโยชน์ในการสร้าง readline (ใช้โดย bash) ใช้การแก้ไขแบบ vi โดยการเพิ่มset editing-mode vi
ลงในไฟล์~/.inputrc
หรือของคุณ /etc/inputrc
หรือคุณก็อาจจะทำให้การแก้ไขการใช้ทุบตี vi set -o vi
สไตล์โดยใช้คำสั่งทุบตี เพิ่มคำสั่งลงใน~/.bashrc
ไฟล์ของคุณเพื่อให้พฤติกรรมคงอยู่
หากคุณเป็นผู้ใช้ zsh ให้เพิ่มไฟล์bindkey -v
ของคุณ.zshrc
เพื่อการแก้ไขแบบ vi
ฉันไม่ทราบวิธีที่จะข้ามไปที่กลางโดยเฉพาะโดยไม่ต้องใช้ปุ่มเคอร์เซอร์ อย่างไรก็ตามฉันสามารถแนะนำให้ใช้ปุ่มเคอร์เซอร์ CTRL + เพื่อย้ายจากช่องว่างไปยังช่องว่าง (เช่นกระโดดจากคำหนึ่งไปอีกคำหนึ่ง)
ส่งข้อมูลโค้ดด้านล่างใน. bashrc ของคุณ Ctrl-a ข้ามไปยังจุดเริ่มต้นและกด Ctrl-a อีกครั้งข้ามไปที่กลาง
jump_mid() {
if [ "$READLINE_POINT" -eq "0" ]; then
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
else
READLINE_POINT=0
fi
}
bind -x '"\C-a" : jump_mid'
หรือหากคุณต้องการใช้ Ctrl-Something เพื่อข้ามไปที่กึ่งกลางโดยตรงให้เปลี่ยนรหัสเป็น:
jump_mid() {
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
}
และผูกกับสิ่งที่แตกต่างจาก Ctrl-a
screen
ผู้ใช้ Ctrl-A กลายเป็น Ctrl-A A.