Làm thế nào để xác định shell cho vim?


12

Tôi có thể chỉ định shell của mình cho vim không? Tôi đang chạy OS X và đã cài đặt zsh qua Homebrew và đang sử dụng MacVim. Khi tôi gõ shellMacVim, shell sẽ mở ra bash. Làm thế nào tôi có thể mở nó như là zsh?


4
Theo mặc định, vim sẽ sử dụng shell được cấu hình hệ thống của bạn. Tôi nghi ngờ bạn đang chạy zsh ở đâu đó trong hồ sơ của bạn hoặc hồ sơ bash của bạn. Hãy thử chạy chshđể thay đổi vỏ của bạn trên máy Mac của bạn.
mkomitee

@mkomitee Tôi ước nó đã làm , và vanilla Vim, chạy từ một thiết bị đầu cuối, sẽ làm tốt với điều đó. Nhưng nói thẳng ra, tôi có Bash của MacPorts làm vỏ của tôi (đã được xác minh chsh), nhưng MacVim đã sử dụng /bin/shkhi tôi :shnói ra. Tôi nghĩ rằng nó có thể là một số điều kỳ lạ về bảo mật / hộp cát với các phiên bản gần đây của macOS, nhưng đây là câu hỏi từ năm 2011 .
TheDudeAdides

Câu trả lời:


17

Thêm hoặc thay đổi dòng sau trong ~/.vimrc:

set shell=/path/to/zsh

1
Điều này không làm việc cho tôi. Tôi chỉ định set shell=/bin/bashtrong ~ / .vimrc, nhưng khi tôi thực thi :shellvà gõ echo $SHELLđầu ra là /bin/zsh.
Daniel Kats

3

Không đủ danh tiếng để thêm nhận xét, điều này có nghĩa là phản hồi cho nhận xét @BlackSheep trong câu trả lời được chấp nhận:

Mặc dù cú pháp tương tự, set shell=/bin/bashnhưng không áp dụng cho các biến shell, nhưng đối với các biến nằm trong vi, vì vậy bạn có thể chạy shell ngay cả khi shell của hệ thống cho người dùng hoạt động không phải là biến thực.

Ngoài ra, bạn có thể sử dụng :set shell=/bin/bashsau đó :shnếu bạn không muốn sửa đổi~/.vimrc


:shlàm việc cho trường hợp của tôi.
elquimista
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.