control-w (xóa từ) xóa toàn bộ dòng trong máy khách MariaDB


8

Tôi đã sử dụng máy khách MySQL gốc cho "eons" và tôi khá quen với việc sử dụng các phím tắt giống như bash trong đó. Một trong những từ được sử dụng thường xuyên hơn của tôi là sử dụng control-wđể xóa từ trước con trỏ (giống như bạn làm trong bash).

Hiện tại, với máy khách mariadb của tôi - nếu tôi nhấn control-wnó sẽ xóa toàn bộ dòng trước con trỏ. (mà trong bash ít nhất là thường control-u)

Vì vậy, ví dụ, hãy thử nó trong một dấu nhắc bash tiêu chuẩn .... hoặc thậm chí trong một dấu nhắc lệnh MySQL cổ điển, nếu tôi có một dòng như:

SELECT a,b,c FROM table WHERE column='value'

Và tôi có con trỏ của tôi trước khi WHEREdòng sẽ như thế nào

WHERE column='value'

Khi tôi thực sự mong đợi nó sẽ là:

SELECT a,b,c FROM WHERE column='value'

Tôi đang sử dụng Fedora và phiên bản Maria được cài đặt là:

[doug@talos werk]$ sudo rpm -qa | grep -i maria mariadb-10.0.21-1.fc21.x86_64 mariadb-config-10.0.21-1.fc21.x86_64 mariadb-common-10.0.21-1.fc21.x86_64

Các phím tắt khác hoạt động như dự đoán, control-acontrol-eđể đi đầu và cuối dòng tương ứng, và control-[left arrow]di chuyển một từ trái (hoặc phải bằng mũi tên phải)

Tôi đang chạy ứng dụng khách với:

mysql -A --host=foo.local -u user -p'mypass'

Tôi không thể tìm thấy một tham chiếu đến các tùy chọn cấu hình máy khách maria, như một .mariarchoặc một cái gì đó. Tôi rất vui khi nhận được bất kỳ con trỏ.

Câu trả lời:


15

Tôi đã tìm ra những gì cần phải được thực hiện và tôi đã tìm thấy câu trả lời trong bài viết Mẹo Mysql trong hướng dẫn sử dụng mysql .

Hóa ra hành vi đó phụ thuộc vào thư viện mà MySQL được biên dịch dựa trên, readlinehoặc libedit. Và bạn có thể tùy chỉnh hành vi với một .editrctập tin.

Trong trường hợp của tôi, để control+wlàm việc như tôi dự đoán, bạn sẽ có một .editrctệp trông như sau:

bind "^W" ed-delete-prev-word

Nếu bạn muốn xem keybindings là gì, chỉ cần đặt từ đó bindvào .editrc(hoặc ở cuối .editrctệp hiện có )


1
Thật nực cười khi đây không phải là cấu hình mặc định với MySQL / MariaDB. Cảm ơn!
Teekin

Cảm ơn, chỉ cần làm rõ vị trí của cấu hình được đề cập /home/<user>/.editrc Ngoài ra, bạn có thể đặt .editrc vào thư mục / etc / skel /, vì vậy tất cả người dùng mới sẽ tự động nhận các cài đặt này
Igor Tverdovskiy
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.