Nhấn alt + số trong bash và bạn nhận được (arg [số]) đó là gì?
(Loại câu hỏi này phù hợp hơn để hỏi một con người, thay vì cố gắng "đoán" thuật ngữ chính xác để tìm kiếm trên tài liệu thông qua internet).
Nhấn alt + số trong bash và bạn nhận được (arg [số]) đó là gì?
(Loại câu hỏi này phù hợp hơn để hỏi một con người, thay vì cố gắng "đoán" thuật ngữ chính xác để tìm kiếm trên tài liệu thông qua internet).
Câu trả lời:
Thuật ngữ bạn muốn tìm kiếm trên google là:
"readline arguments"
Ví dụ, điều này sẽ dẫn đến chương này từ sổ tay tham khảo bash :
Bạn có thể truyền các đối số số cho các lệnh Readline. Đôi khi đối số hoạt động như một số lặp lại , những lần khác, nó là dấu hiệu của đối số là quan trọng. Nếu bạn chuyển một đối số phủ định cho một lệnh thường hoạt động theo hướng tiến, lệnh đó sẽ hoạt động theo hướng lùi. Ví dụ: để ngắt văn bản về đầu dòng, bạn có thể nhập 'M-- C-k'.
Cách chung để chuyển các đối số số cho một lệnh là nhập các chữ số meta trước lệnh. Nếu 'chữ số' đầu tiên được nhập là dấu trừ ('-'), thì dấu của đối số sẽ là số âm. Khi bạn đã nhập một chữ số meta để bắt đầu đối số, bạn có thể nhập phần còn lại của các chữ số, sau đó nhập lệnh. Ví dụ: để cung cấp cho lệnh Cd đối số là 10, bạn có thể nhập 'M-1 0 C-d', thao tác này sẽ xóa mười ký tự tiếp theo trên dòng nhập.
Để điều đó hoạt động, bạn phải biết khóa Meta được ánh xạ ở đâu: đôi khi là Alt, đôi khi Esc, những máy tính tuyệt vời có một khóa Meta chuyên dụng;)
Đối với những người không quen thuộc với cú pháp, 'M-- Ck' tương đương với Meta_key+ - Ctrl+ k. "M" là viết tắt của phím Meta, như đã lưu ý, thay đổi theo hệ thống, "C" là viết tắt của phím Ctrl. Dấu "-" sau một ký tự (như "M-") không phải là thứ bạn nhập, đó là cách biểu thị các phím bấm đồng thời.
(arg: 1280
(mặc dù tôi đã bỏ phím Alt). Làm cách nào để lặp lại các số bằng cơ chế này?
$(perl -e 'print "0" x 128')
Để lặp lại các ký tự số - ví dụ: 128 số 0, hãy nhấn như sau:
Meta-key + 1 2 8 Ctrl + v 0
vim
(có thể là emacs nữa, tôi không thể nhớ).
Thử cái này. Nhập Alt 4, sau đó gõ T, sau đó nhấn Enter.
Đã chỉnh sửa để sử dụng HTML nhanh hơn.
t
ký tự được chèn.
Nó lặp lại lệnh tiếp theo được đưa ra nhiều lần, giống như trong Emacs. Ví dụ: M-1-0 C-pdi chuyển lại 10 mục lịch sử. M-4 C-hkhoảng cách lùi bốn ký tự, M-3 M-tdi chuyển từ trước đó về phía trước ba lần, v.v. Ở đây tôi sử dụng M-nghĩa là "meta" cho phím Alt, cũng như tùy chỉnh trong Bash.
Tôi biết điều này đã là một câu trả lời được chấp nhận, tuy nhiên tôi đã tìm thấy một số ví dụ hữu ích cũng chứng minh các công dụng bổ sung ngoài việc lặp lại các ký tự đơn giản. Các đối số chữ số có thể áp dụng cho tất cả các loại. Ví dụ chuỗi "Alt + 3, Escape, Backspace" sẽ xóa ngược 3 từ.
phần hướng dẫn sử dụng bash - về cơ bản là một cách lặp lại các lệnh readline hoặc đảo ngược chúng.
set keymap vi
tham gia~/.inputrc
, thì việc đánhEsc + Digit
sẽ dẫn bạn đến chế độ tương tự, như thể chuẩn bị lặp lại lệnh vi (nhưng bạn không thể sử dụng các ràng buộc vi từ chúng, chỉ có những emacs xấu xí thôi :-()