OS X Terminal tương đương với Ctrl + Trái / Ctrl + Phải


19

Trong Windows và Linux, tôi luôn có thể nhấn ctrl+ hoặc ctrl+ để bỏ qua một từ bên trái hoặc bên phải trong thiết bị đầu cuối. Trong trình soạn thảo văn bản có vẻ như + / hoạt động, nhưng không có xúc xắc trong thiết bị đầu cuối. Tôi đã tìm kiếm Google và không tìm thấy gì ngoại trừ một trang Wikipedia tuyên bố + B/ Fthực hiện công việc, nhưng tất cả những gì nó làm là in ∫ và ƒ ký tự cho thiết bị đầu cuối của tôi (hoặc ı và Ï nếu tôi giữ ). Có ý kiến ​​gì không?

Câu trả lời:


12

Bạn có thể sử dụng khóa, nhưng bạn phải chọn tùy chọn để sử dụng nó làm khóa "meta": văn bản thay thế

Khi bạn làm điều đó, + F+ Bsẽ hoạt động như bạn mong đợi.


tuyệt vời ... điều này đã khiến tôi phát điên trong một thời gian dài. cảm ơn.
Robert S Ciaccio

2
Ngoài ra, hãy kiểm tra apple.stackexchange.com/q/1391/115 để biết các nhược điểm có thể có của các tùy chọn đó.
Martin Marconcini

Câu trả lời tuyệt vời. +1
Soner Gönül

11

Điều này cũng khiến tôi phát điên, tuy nhiên tôi không muốn sửa lỗi dành riêng cho Terminal vì tôi không sử dụng Terminal và để có thể SSH vào hộp OSX của tôi cũng phải sử dụng các phím bấm chính xác.

Ngoài ra, cá nhân tôi không quan tâm đến chìa khóa như đã thảo luận trước đó; Tôi muốn duy trì kết hợp ctrl+ / mà tôi đã sử dụng trên Linux.

Để giải quyết vấn đề này, tôi đã thêm vào như sau ~/.profile:

bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'

Lưu ý hai cái đầu tiên áp dụng cho bash trong Terminal ; hai cái cuối cùng áp dụng cho bash trong iTerm2các kết nối ssh đến . Đừng hỏi tôi tại sao mô phỏng bàn phím lại khác;)

Đối với bản ghi, tôi có thể tìm thấy mã khóa thực sự là gì nhờ một gợi ý từ câu trả lời stackoverflow này : Bạn có thể chạy cat > /dev/nullđể theo dõi các mã phím chính xác được gửi trong một tổ hợp phím.

(Lưu ý rằng đối với tôi, khi tôi chạy cat > /dev/nullvà nhấn ctrl+ nó tạo ra ^[[1;5D. Mã khóa chính xác của bạn có thể khác nhau , nhưng mã đầu tiên ^[được thể hiện như \e, như trong mã ví dụ của tôi.)

BTW, nếu bạn muốn xem tất cả các phím bấm bash đang hoạt động, hãy chạy bind -p.


Tôi thích sử dụng xxdđể kiểm tra đầu vào bàn phím. Bạn có thể thấy ký tự được hiển thị khi bạn nhập nó, sau đó xxdphát ra giá trị ở dạng hex khi bạn nhập return.
Chris Trang

Hoàn hảo! Chỉ là những gì tôi đang tìm kiếm :) Chưa bao giờ có may mắn thực hiện cài đặt "Ứng dụng cụ thể" ở trên, nhưng điều này chỉ hoạt động!
bisko

Đảm bảo điều khiển + trái / phải không được ánh xạ tới "chuyển khoảng trắng" trong sysprefs> bàn phím> phím tắt> exposé. Tôi không có không gian nào khác mở, vì vậy có vẻ như đầu vào bàn phím của tôi không hoạt động.
sudo

6

Kể từ Mac OS X Lion 10.7, Bản đồ đầu cuối - / đến esc+ B/ Ftheo mặc định, do đó, giờ đây được tích hợp sẵn cho bash và các chương trình khác sử dụng các phím bấm tương thích với emacs này.


5

nếu bạn biết cách sử dụng vi, bạn cũng có thể bật chế độ chỉnh sửa dòng vi bằng cách sử dụng set -o vitrong .bash_profilehoặc bất kỳ lúc nào trên dòng lệnh. Sau đó, bạn có thể chuyển đổi giữa chế độ lệnh vi và chèn. Vì vậy, bạn có thể nhấn thoát, sau đó sử dụng các lệnh vi để điều hướng dòng:

0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word

Khi bạn đến đúng vị trí, bạn có thể sử dụng các lệnh vi khác để vào chế độ chèn hoặc chắp thêm hoặc xóa từng ký tự một, v.v.


Tôi không bao giờ biết bạn có thể sử dụng 0 để bắt đầu dòng, tôi luôn sử dụng ^
Jason Salaz

1
@vxjasonxv: ya, ^ di chuyển đến char không phải khoảng trắng đầu tiên, 0 di chuyển đến cột đầu tiên (mà bạn có thể đã nhận thấy nhưng tôi đoán tôi sẽ ném nó ra cho người khác: P)
Robert S Ciaccio

1
OH WOW, ĐÓ LÀ NGAY CẢ TỐT HƠN, tôi chưa nhận thấy điều đó! Ôi trời, chức năng đó (không phải khoảng trắng đầu tiên) của ^ luôn khiến tôi bực mình. Cảm ơn bạn.
Jason Salaz

Tất nhiên, ESC ^thật tuyệt khi bạn cần nó, nó chỉ gây phiền nhiễu khi bạn muốn làm một cái gì đó hoàn toàn khác :)
ocodo

3

Mở terminal, vào sở thích, bàn phím. Trong danh sách, bạn sẽ tìm thấy con trỏ ctrl bên phải và con trỏ ctrl bên trái.
Thay đổi hành động được chỉ định của họ thành lần lượt là \ 033f và và \ \ 033b, và bạn sẽ có thể sử dụng ctrl+ ctrl+ để di chuyển mà không mất phím alt.


2

Dường như esc+ Besc+ Fđược ánh xạ theo mặc định để đi đến đầu và cuối của từ. Mặc dù, đối với hệ thống của tôi, bạn không thể nhấn escmà phải nhấn lại cho từng từ.


1
Esc không bao giờ là công cụ sửa đổi, nó chỉ chuyển sang chế độ "Thoát" khi bạn nhấn nó, coi đó là cách làm việc theo phương thức, không giống như shift / ctrl / meta, v.v. (trong sơ đồ Readline của mọi thứ.)
ocodo

0

Phiên bản mới nhất của HĐH ánh xạ này tới Spaces. Ngay cả khi bạn đã tắt Spaces, các phím nóng vẫn có thể bị đoản mạch ở vị trí ẩn này:

Các phím con trỏ Terminal.app: tắt Tùy chọn hệ thống -> Phím tắt -> Điều khiển nhiệm vụ -> Di chuyển sang một khoảng trắng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.