vi phím tắt trên bash trên mac không hoạt động, ví dụ: CTRL + E, CTRL + A [trùng lặp]


1

Câu hỏi này đã có câu trả lời ở đây:

Tôi đã sử dụng vi làm trình soạn thảo văn bản chính của mình trong nhiều năm nay trên Linux (và một vài năm trước Mac cũng vậy) và trên máy Mac hoàn toàn mới của tôi (chạy 10.8.4) Tôi thấy khi cố gắng chỉnh sửa tệp bằng vi trong Terminal tôi không thể sử dụng các phím tắt vi tiêu chuẩn, ví dụ: sử dụng 'CTRL + E' để điều hướng đến cuối dòng. Thay vào đó, phím tắt được đặt thành phím tắt vim là '$' để điều hướng đến cuối dòng. Tôi sử dụng bash. Làm thế nào tôi có thể có được các phím tắt vi tiêu chuẩn?


vi trong osx vim. :hvà kiểm tra tập tin trợ giúp. mặc dù kiểm tra này ra howtogeek.com/166616/...
Hoss

Bạn đang tìm kiếm ^ A / ^ E để làm việc trong bash (để điều hướng trong dòng lệnh) hoặc bên trong vi / vim?
nohillside

Câu trả lời:


1
set -o vi

Thêm nó vào ~ / .bashrc của bạn


Nếu bạn muốn viết "Tôi không thể sử dụng các phím tắt bash tiêu chuẩn Ctrl-E và Ctrl-A trong vim", sau đó thêm các dòng này vào ~ / .vimrc của bạn

map <C-E> $
map <C-A> 0|

Nếu bạn muốn chúng cũng hoạt động ở chế độ chèn đầu vào , bạn cũng cần

map! <C-E> <esc>A
map! <C-A> <esc>0i

Những bản đồ này để CtrlAgửi bạn đến lề trái. Nếu bạn muốn đi đến nhân vật không phải không gian đầu tiên

map <C-A> ^
map! <C-A> <esc>I

Điều này sẽ kích hoạt chế độ vi trong bash, không phải trong vim
nohillside

1
đó là cách tôi diễn giải câu hỏi, nhưng đọc lại tôi đoán bạn đúng.
glenn jackman

Câu trả lời từ bài viết này xem để thực hiện các mẹo. Cảm ơn các phản hồi rất nhanh. apple.stackexchange.com/questions/49749/ Mạnh
user53423 17/07/13

5

Ctrl-a cho đầu dòng và Ctrl-E cho cuối dòng là các phím tắt Emacs, không phải vi. Như vậy, họ sẽ không làm việc trong vi.


Đã sử dụng vi trong nhiều năm trên linux tôi không bao giờ nhận ra rằng các phím tắt này là từ emacs. Tôi đã luôn sử dụng vi và bất kỳ máy linux nào tôi làm việc đều có các phím tắt này vì vậy tôi đoán chúng luôn được kích hoạt đặc biệt mà không nhận ra chúng không phải từ vi. Cảm ơn đã chỉ ra điều này.
dùng53423
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.