Làm thế nào để bỏ đặt -o vi?


26

Tôi muốn thử chế độ vi trong bash nhưng bây giờ tôi muốn thay đổi nó trở lại bình thường.

Làm thế nào tôi có thể bỏ đặt -o vi?

Câu trả lời:


30

Chỉ có hai dòng chỉnh sửa giao diện hiện có tại bashvichế độ và emacschế độ, vì vậy tất cả các bạn cần làm là thiết lập emacschế độ một lần nữa.

set -o emacs

Cần lưu ý rằng đây là tôi đọc giữa các dòng hơn là trả lời trực tiếp câu hỏi. emacslà chế độ chỉnh sửa dòng mặc định trong bash. Cài đặt emacschế độ sẽ vô hiệu hóa vichế độ như một hiệu ứng phụ, nhưng như được đề cập bởi jlliagre bên dưới, bạn thực sự có thể vô hiệu hóa cả hai.
Chris Xuống

25

Điều đó phụ thuộc vào những gì bạn định nghĩa "bình thường". Nếu đó là tắt chỉnh sửa dòng, cách không -o viđược đặt thành tài liệu là đặt+o vi

$ set -o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              on
$ set +o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              off

Chris đã trả lời nếu chế độ bình thường của bạn là emacs.


tắt (các) chế độ cũng làm mất tính năng lịch sử shell, bây giờ tôi không thể sử dụng các phím mũi tên lên / xuống để xem lịch sử lệnh :(
rsjethani

2
Nó không lấy đi tính năng lịch sử vỏ. Bạn vẫn có thể xem lịch sử của mình bằng historylệnh và chạy các lệnh trước bằng cách thêm tiền tố số của chúng vào !ký tự.
jlliagre

có 'lịch sử' n lệnh gia đình vẫn hoạt động nhưng các phím mũi tên lên / xuống mà tôi sử dụng thường xuyên hơn không hoạt động. Ngay khi tôi bật bất kỳ chế độ nào trên các phím bắt đầu hoạt động ... Tôi không hiểu?
rsjethani

3
Mũi tên lên / xuống chỉ được quản lý bởi trình bao nếu chỉnh sửa dòng được bật (tức là một trong các chế độ emacs hoặc vi được đặt). Mặt khác, các phím mũi tên chỉ gửi chuỗi thoát của chúng chưa được xử lý.
jlliagre
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.