Tôi đã cố gắng học các phím tắt cho shell trên macOS, nhưng khi tôi thử sử dụng ALT+ B, nó không hoạt động.
Làm thế nào để bạn khám phá, cấu hình và sử dụng keybindings trong shell? Bất kỳ cheatheets sẽ hữu ích.
Tôi đã cố gắng học các phím tắt cho shell trên macOS, nhưng khi tôi thử sử dụng ALT+ B, nó không hoạt động.
Làm thế nào để bạn khám phá, cấu hình và sử dụng keybindings trong shell? Bất kỳ cheatheets sẽ hữu ích.
Câu trả lời:
Một cách để đối phó với các chuỗi khóa 'meta' không hoạt động trên thiết bị đầu cuối OS X là gán các chuỗi ký tự cụ thể cho các phím nhấn cụ thể. Đối với những người trong chúng ta có bàn phím không phải của Hoa Kỳ, đây thường là một giải pháp tốt hơn cài đặt "Sử dụng tùy chọn làm meta" được đề cập trong các nhận xét của các câu trả lời khác. (Nhiều bàn phím Mac quốc tế về cơ bản không thể sử dụng được cho công việc phát triển mà không có phím Tùy chọn / alt vì một số ký tự quan trọng nhất định không có sẵn. Chẳng hạn, không có #bàn phím Mac của Vương quốc Anh.)
Để làm cho từ trái và từ phải hoạt động cho bash, tôi đã sử dụng phần "Bàn phím" của Cài đặt trong Terminal. Bạn có thể yêu cầu nó tạo ra các chuỗi mã cụ thể khi nhấn phím cụ thể. Tôi đã cấu hình của tôi để alt+ ◀tạo \033b
(thực tế là hai ký tự: Esc, và sau đó là chữ thường b) và alt+ ▶tạo \033f
(nghĩa là Esc f
). Điều này cho phép bạn sử dụng các phím mũi tên với phím tùy chọn được giữ để có được hành vi từ trái và phải.
Những gì tôi chưa làm được là làm thế nào để làm cho Escchìa khóa hoạt động - theo lý thuyết bạn sẽ có thể sử dụng nó cho các chuỗi 'meta' nhưng dường như nó không hoạt động. (Vì vậy, chỉ cần gõ Esc+ bnên quay lại một từ.)
Nếu bạn có bố cục bàn phím ở Hoa Kỳ hoặc một số bàn phím khác mà Apple thấy phù hợp để cung cấp tất cả các phím bạn thực sự cần, thì như những người khác đã đề xuất, "Sử dụng tùy chọn làm phím meta" (cũng trên phần Bàn phím trong cài đặt của Terminal) có lẽ là một lựa chọn tốt hơn bởi vì bạn sẽ có thể nhận được bất kỳ tổ hợp phím meta nào. Khi bật, Alt+ bhoạt động như mong đợi.
Thiết bị đầu cuối của Mac OS X là BASH, đây là một số phím tắt BASH:
Ctrl + A Go to the beginning of the line you are currently typing on
Ctrl + E Go to the end of the line you are currently typing on
Ctrl + L Clears the Screen, similar to the clear command
Ctrl + U Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H Same as backspace
Ctrl + R Let’s you search through previously used commands
Ctrl + C Kill whatever you are running
Ctrl + D Exit the current shell
Ctrl + Z Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W Delete the word before the cursor
Ctrl + K Clear the line after the cursor
Ctrl + T Swap the last two characters before the cursor
Esc + T Swap the last two words before the cursor
Alt + F Move cursor forward one word on the current line
Alt + B Move cursor backward one word on the current line
Tab Auto-complete files and folder names
Một trong những bạn đang tìm kiếm là Ctrl+ H. (Điều này giống như nhấn phím xóa lùi)
Nếu bạn đang tìm kiếm một nhân vật thoát để quay lại một nhân vật, bạn đang tìm kiếm \b
. Như trong:
$ echo -e "one two\b\b\b\b three" # Will echo "one three"
Hãy thử SS64 . Trang web này chỉ tuyệt vời để tham khảo dòng lệnh.
Phím tắt OS X CLI được lấy từ trang SS64 này .
Bash Keyboard Shortcuts
Moving the cursor:
Ctrl + a Go to the beginning of the line (Home)
Ctrl + e Go to the End of the line (End)
Ctrl + p Previous command (Up arrow)
Ctrl + n Next command (Down arrow)
Alt + b Back (left) one word
Alt + f Forward (right) one word
Ctrl + f Forward one character
Ctrl + b Backward one character
Ctrl + xx Toggle between the start of line and current cursor position
Editing:
Ctrl + L Clear the Screen, similar to the clear command
Ctrl + u Cut/delete the line before the cursor position.
Alt + Del Delete the Word before the cursor.
Alt + d Delete the Word after the cursor.
Ctrl + d Delete character under the cursor
Ctrl + h Delete character before the cursor (backspace)
Ctrl + w Cut the Word before the cursor to the clipboard.
Ctrl + k Cut the Line after the cursor to the clipboard.
Alt + t Swap current word with previous
Ctrl + t Swap the last two characters before the cursor (typo).
Esc + t Swap the last two words before the cursor.
Ctrl + y Paste the last thing to be cut (yank)
Alt + u UPPER capitalize every character from the cursor to the end of the current word.
Alt + l Lower the case of every character from the cursor to the end of the current word.
Alt + c Capitalize the character under the cursor and move to the end of the word.
Alt + r Cancel the changes and put back the line as it was in the history (revert).
Ctrl + _ Undo
TAB Tab completion for file/directory names
For example, to move to a directory 'sample1'; Type cd sam ; then press TAB and ENTER.
type just enough characters to uniquely identify the directory you wish to open.
History:
Ctrl + r Recall the last command including the specified character(s)
searches the command history as you type.
Equivalent to : vim ~/.bash_history.
Ctrl + p Previous command in history (i.e. walk back through the command history)
Ctrl + n Next command in history (i.e. walk forward through the command history)
Alt + . Use the last word of the previous command
Ctrl + s Go back to the next most recent command.
(beware to not execute it from a terminal because this will also launch its XOFF).
Ctrl + o Execute the command found via Ctrl+r or Ctrl+s
Ctrl + g Escape from history searching mode
Process control:
Ctrl + C Interrupt/Kill whatever you are running (SIGINT)
Ctrl + l Clear the screen
Ctrl + s Stop output to the screen (for long running verbose commands)
Ctrl + q Allow output to the screen (if previously stopped using command above)
Ctrl + D Send an EOF marker, unless disabled by an option, this will close the current shell (EXIT)
Ctrl + Z Send the signal SIGTSTP to the current task, which suspends it.
To return to it later enter fg 'process name' (foreground).
Emacs mode vs Vi Mode
All the above assume that bash is running in the default Emacs setting, if you prefer this can be switched to Vi shortcuts instead.
Set Vi Mode in bash:
$ set -o vi
Set Emacs Mode in bash:
$ set -o emacs
Lưu ý: Để sử dụng Phím tắt Alt >> Mở Tùy chọn thiết bị đầu cuối >> Tab Cài đặt >> Bàn phím >> Đánh dấu vào "Sử dụng tùy chọn làm phím meta"
Bạn muốn phần READLINE của bash(1)
trang man:
man 1 bash
/^READLINE
Thực sự không cần ánh xạ optionkhóa tới meta, trong OS X Terminal, option+ left-arrow, option+ right-arrowthay thế Alt+ Fvà Alt+ Btương ứng. Các phím tắt thường được sử dụng khác đều hoạt động như được thực hiện trên các nền tảng khác. esccó thể mô phỏng chức năng ban đầu của Altkhóa, nhưng có thể hơi khó chịu khi sử dụng esclàm công cụ sửa đổi, cộng với việc bạn không thể giữ escvà nhấn liên tục Bhoặc F, bạn cần phải bật lại và đẩy nó xuống mỗi lần.
TL; DR
option+ left-arrow= lùi một từ
option+ right-arrow= chuyển tiếp một từ
Bạn có thể quan tâm đến hồ sơ của tôi: https://github.com/lingtalfi/mac-terminal-shortcut
Nó cung cấp các phím tắt (trực quan) sau:
ALT-left: move one word backward
ALT-right: move one word forward
CTRL-left: move to the beginning of the line
CTRL-right: move to the end of the line
ALT-backspace: kill one word backward
ALT-del: kill one word forward
ALT-up: set word after cursor to uppercase
ALT-down: set word after cursor to lowercase
CTRL-backspace: Same as ALT-backspace
CTRL-del: Same as ALT-del
home: move to the beginning of the line
end: move to the end of the line