2012-04-18 29 views
9

Rất nhiều lần tôi sẽ sử dụng Ctrl-R để tìm kiếm ngược lại và nhập nhầm một số chữ cái. Bash nhảy lên hàng trăm dòng và tôi đang ở giữa các lệnh mà tôi đã sử dụng cách đây một tuần.Làm thế nào để nhanh chóng di chuyển đến cuối/cuối của lịch sử lệnh trong bash?

Có lối tắt nào để nhảy xuống các lệnh mới nhất mà tôi đã nhập không?

Chỉnh sửa: sau khi thử nghiệm nó trên một máy chủ CentOS và Mac OS X, có vẻ như điều này chỉ xảy ra trên OS X.

Trả lời

3

Tôi đã gặp khó khăn với cùng vấn đề này.

Bạn có thể giải quyết vấn đề này bằng cách hủy bằng ctrl-c. Cho dù bạn đang ở giữa tìm kiếm ngược hoặc cuộn qua lịch sử bằng các mũi tên, việc hủy bỏ trả về cho bạn một lời nhắc với cuộn lịch sử ngay sau lệnh cuối cùng.

CẬP NHẬT

Dưới đây là một thủ thuật rất hay tôi chỉ học được. Bash và nhiều chương trình khác sử dụng Readline dưới mui xe để giải thích dòng lệnh. Các ràng buộc khóa cho Readline có thể được cấu hình trong một tập tin .inputrc hoặc với lệnh bind. Các ràng buộc có thể sử dụng một vài hàm do Readline cung cấp. Ví dụ, tôi sử dụng Bash trong chế độ vi nhưng tôi vẫn thích sử dụng Emacs kiểu ctrl-A vì vậy tôi có dòng này trong tập tin của tôi .bashrc:

bind '\ Cà: bắt đầu-of-line'

Để liệt kê tất cả các chức năng Readline có sẵn: bind -l

Trong số các chức năng là kết thúc lịch sử. Hàm này giống như tên của nó. Sự khác biệt giữa cách tiếp cận này và chỉ sử dụng lệnh hủy bỏ là điều này giữ cho bạn trên cùng một dấu nhắc.

0

Có lẽ không chính xác những gì bạn muốn, nhưng bạn có thể khắc phục nhân vật gõ sai của bạn (s) bằng cách sử dụng backspace khi bạn đang ở chế độ CTRL-r (đảo ngược-tìm kiếm).

+0

Phím xóa lùi cho phép tôi sửa nó nhưng con trỏ tìm kiếm vẫn còn hơn 100 lệnh. – volni

3

Nếu sử dụng libreadline, Alt-> (hoặc Meta->). Thông tin thêm về Readline shortcuts hoặc tìm kiếm Lệnh để Thao tác Lịch sử trong trang hướng dẫn.

+1

Điều này không hiệu quả đối với tôi khi sử dụng iTerm2 trên Mac OS X Lion. – volni

+0

Nó phụ thuộc vào vỏ được sử dụng và liệu nó có hỗ trợ cho libreadline hay không. Không bao giờ sử dụng iTerm2 bản thân mình, kiểm tra xem nó có một số cài đặt để xác định khóa Meta. BTW, nếu bạn đang sử dụng OS X, các phím tắt này hoạt động tốt trong Terminal. –

0

Bạn có thể muốn thử "hộp đề xuất" giống như lịch sử HSTR. Nó đọc lịch sử bash và cho phép điều hướng nhanh chóng và lọc - bạn có thể thấy bối cảnh của các mục lịch sử tương tự. Khi bạn chọn một mục lịch sử, nó có thể được chỉnh sửa trên dòng lệnh.

0

Trên máy Mac, hãy thử command + . Nó phù hợp với tôi. Tôi đã thử alt+.alt+shift+., không hoạt động đối với tôi. Và sau đó tìm thấy command + . thực sự hoạt động

Các vấn đề liên quan