2012-01-17 28 views
11

Bash có thể là set to operate in vim mode. Tuy nhiên, số .vimrc của tôi không còn được sử dụng nữa. Cụ thể, ánh xạ của tôi là jj đến Esc không còn hoạt động nữa. Tôi phải bấm Esc để thoát khỏi chế độ chèn. Làm thế nào để tôi biết bash sử dụng tệp .vimrc của tôi?Buộc sử dụng .vimrc ở chế độ vi

+7

Bash không phải là vim - tại sao nó sẽ sử dụng .vimrc của bạn? –

+0

@CarlNorum Tôi cho rằng nó có thể sử dụng '.vimrc' vì nó có thể hoạt động ở chế độ vi – puk

+6

Chế độ vi của Bash không vi. Nó chỉ là một chút như vi, do đó bạn sẽ cảm thấy như ở nhà nếu đó là khẩu vị của bạn. –

Trả lời

9

Bạn đang tìm kiếm chế độ bash-của vi (mà chỉ là rằng: một chế độ vi đầu vào cho bash, và không có gì ở tất cả để làm với vi hoặc vim).

không phải làm với readline/inputrc như xa như tôi biết, do đó bạn có thể xem liệu bạn có thể

  • phím bind bash cách
  • từ ~/.inputrc

liên kết:

Các liên kết cuối cùng có chứa một ví dụ hơi cao cấp hơn của một .inputrc để sử dụng với bash:

# Edit options before rerunning previous command, eg: ls a b c -> ls -al a b c 
"\e-": "\C-p\C-a\M-f " 

# Cycle thru completions. 
"\e/": menu-complete 

# glob patterns without executing, eg: 'rm *x' 
"\ee": glob-expand-word 

# Vim style history search 
"\e[A": history-search-backward 
"\e[B": history-search-forward 

"\e[C": forward-char 
"\e[D": backward-char 

# Two escapes clear command line. 
"\e\e": "\C-a\C-k" 
-2

trong .bashrc của bạn: Chế độ

set -o vi 

vim cho bash

+0

Điều này có nghĩa vụ phải hoạt động không? Nó không làm việc cho tôi, và tôi luôn tin rằng cờ 'editor' là dành cho các biên tập viên để sử dụng trong những điều kiện nhất định (ví dụ' svn commit -m') – puk

+0

xin lỗi lỗi của tôi, nó phải là: set -o vi – chemila

+0

yes những gì tôi có cho đến nay là tốt. – puk

2

@sehe chắc chắn có câu trả lời trực tiếp nhất. NHƯNG nếu bạn không muốn gây rối với các .inputrc, có at least two other options

  • v, trong đó có bất cứ điều gì các lệnh bạn đã viết cho đến nay, hoặc không có gì cả, vào trình soạn thảo quy định tại .bash_profile của bạn (sử dụng dòng này: EDITOR=/usr/bin/vim). lưu và thoát thực hiện lệnh. EDIT: điều này là để được thực hiện từ chế độ bình thường, vì vậy bạn sẽ vẫn phải nhấn ESC để đạt được điều đó: (

  • fc, đó là tiện dụng 'fix command' command. thêm vào đó một trong man bash. . gõ vào chế độ chèn

+3

Tôi luôn tự hỏi tại sao vim sẽ mở ra bất cứ khi nào tôi nhấn 'v' – puk

+0

lời khuyên tuyệt vời, nhưng bạn có thể chỉnh sửa câu hỏi để làm rõ hơn không, ví dụ như không rõ ràng rằng những thứ đó có nghĩa là được phát hành ở chế độ lệnh thay vì chế độ chèn – puk

0

trong khi trả lời chấp nhận có con trỏ, câu trả lời cut-to-the đuổi là như sau:

trong file .inputrc của bạn, đặt

set keymap vi- chèn

"jj": "\ e"

Bạn cần buộc đọc lại tệp .inputrc của mình. Điều này có thể được thực hiện bằng cách đóng terminal của bạn và mở lại nó. Đối với thử nghiệm kéo dài với.inputrc tập tin, vì vậy bạn không cần phải đăng xuất và sau đó trở lại, đặt điều này trong quá:

"\ Cx \ Cr": tái read-init-file

Sau đó, bạn có thể sử dụng Control- x, control-r để đọc lại tệp init và không phải đăng xuất và đăng nhập lại.

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