Thực hiện một lệnh trong chế độ zsh vim


10

Trong zshnăm vim mode, tôi viết một cái gì đó

foo foo bar bar

Sau đó, tôi nhấn Escđể đi trong chế độ bình thường và gõ :

foo foo bar bar
execute: _

Sau đó, tôi cho rằng tôi có thể làm điều đó, tôi muốn tìm kiếm và thay thế barbằngbaz

foo foo bar bar
execute: s/bar/baz/g_

Sau đó, tôi cố gắng nhấn Enter, nhưng không được. Tôi chỉ có thể quay lại từ executesử dụng Ctrl+ c.

Làm thế nào tôi có thể thực hiện lệnh?

Tôi đã thử điều này với bình thường của tôi .zshrcvà không có chút nào .zshrc.

Câu trả lời:


10

Các vicmdchế độ , mặc dù tên, là cho các lệnh bình thường-mode Vi. Lời nhắc được bắt đầu bởi :không phải cho các lệnh chế độ cũ của Vi, mà là để chạy các lệnh ZLE (trình chỉnh sửa dòng của Zsh) :

$ echo foo
execute: e_
edit-command-line          emacs-forward-word         end-of-history             end-of-line-hist           exchange-point-and-mark    execute-named-cmd          expand-history             expand-or-complete-prefix
emacs-backward-word        end-of-buffer-or-history   end-of-line                end-of-list                execute-last-named-cmd     expand-cmd-path            expand-or-complete         expand-word

Nhấn Entersẽ hoạt động khi một tiền tố duy nhất đã được nhập (nghĩa là bạn nhập ed, khớp với edit-command-line, sau đó Entersẽ hoạt động). Bạn có thể nhấn Tabđể xem các lệnh phù hợp.


Cảm ơn. Một lý do để sử dụng bashsau đó thay vì zsh.
pfnuesel

@pfnuesel đó là? Bash có hỗ trợ sử dụng các lệnh cũ của Vi không?
muru

1
v, bạn có thể nhập vimvà làm bất cứ điều gì bạn có thể làm vim.
pfnuesel

3
@pfnuesel ơi, cái đó. Zsh có cái đó. Nó không được bật theo mặc định. Xem unix.stackexchange.com/a/6622/70524
muru

@muru Câu trả lời của bạn hơi sai lệch. Những gì bạn đang đề cập đến như là chế độ cha mẹ của mối quan hệ trên thực tế, đó là bản commandđồ chính - đó là một chế độ khác giống như một nhà cung cấp cho bạn execute:lời nhắc nhập các lệnh ZLE. Các vicmdsơ đồ bàn phím để làm việc vi (m) Chế độ lệnh kiểu. Khi sử dụng zsh ở chế độ vi, bạn có thể sẽ hoán đổi qua lại giữa vicmdviinsgiống như cách bạn di chuyển qua lại giữa chế độ lệnh và chèn trong vi (m).
wjv
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.