Làm cách nào để chạy mvim (MacVim) từ Terminal?


258

Tôi đã cài đặt MacVim và tôi đang cố gắng thiết lập nó làm trình chỉnh sửa cho Git (kiểm soát phiên bản), nhưng tôi không thể chạy 'mvim' từ dòng lệnh vì nó không được nhận dạng. Làm cách nào để thiết lập mvim để tôi có thể chạy nó từ Terminal?


3
Hãy thử vimtừ dòng lệnh.
pavium

4
Tuyên bố miễn trừ trách nhiệm: điều này sẽ hoạt động với Linux vì vậy tôi cho rằng nó tương tự trên máy Mac. Hãy thử xem đường dẫn (sử dụng " echo $PATH") và thêm thư mục vào MacVim có thể thực thi được nếu nó chưa có (sử dụng " export PATH=$PATH:path/to/folder"). Tâm trí các $dấu hiệu, chúng là quan trọng!
laura

Câu trả lời:


190

Cần có một tập lệnh có tên mvim trong thư mục gốc của tệp .bz2. Sao chép cái này ở đâu đó vào $ PATH của bạn (/ usr / local / bin sẽ tốt) và bạn sẽ được sắp xếp.


9
Bạn tìm tập tin bz2 ở đâu?
jnthnclrk

2
Một năm trước đó là những gì bạn nhận được khi tải xuống MacVim. Bây giờ là tệp a.tbz, nhưng tập lệnh vẫn còn đó.
Gordon Robertson

5
Bạn có thể xác định vị trí tệp bằng cách sử dụng find từ thư mục gốc của bạn. sudo find . -name mvimCủa tôi là trong / Ứng dụng / MacVim-snapshot-64 / mvim.
tltjr

19
Vì mvim chỉ đơn giản là một tập lệnh shell, bạn có thể tải xuống trực tiếp từ nguồn MacVim tại GitHub tại đây: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad

3
Theo như: giúp mvim tôi đã phải thêm /Applications/MacVim.app/Contents/binvào đường dẫn của tôi sau đó nó hoạt động tốt.
hraynaud

210

Tôi không nghĩ rằng tôi sẽ thêm bất cứ điều gì vào con đường, đã làm

brew install macvim

mvim -v

Sau đó nên mở macvim trong thiết bị đầu cuối, bạn cũng có thể tiếp tục và bí danh rằng

alias vim='mvim -v'

38
Bất cứ ai đọc điều này ngày hôm nay bằng cách sử dụng homebrew, bạn sẽ phải chạy brew linkappssau khi cài đặt macvim.
Hồ Aaron

1
Tùy chọn '-v' hoạt động nếu bạn đã cài đặt từ nguồn hoặc từ tải xuống cũng như hiển thị trong các câu trả lời khác.
Đầu Bryan

7
brew linkapps --systemnếu bạn muốn nó trong thư mục / Ứng dụng của bạn.
mk12

Nếu việc chạy brew linkappskhông có ích, cũng hãy chạy brew doctorvà xem các tin nhắn cảnh báo liên quan đến macvim - bạn có thể cần chạy brew link --overwrite macvimnếu được đề xuất.
Nghệ thuật

Với cờ -v này vì một số lý do thay đổi phông chữ không hoạt động.
Ixx

106

Nếu bạn đi theo con đường bia, cách tốt nhất để cài đặt sẽ là:

brew install macvim --with-override-system-vim

Điều đó sẽ cung cấp mvim, vim, vi, view, v.v. trong / usr / local / bin (tất cả được liên kết với bản sao trong Hầm). Điều này cũng loại bỏ sự cần thiết phải tạo bất kỳ bí danh nào và cũng thay đổi vi, vim, v.v. của bạn để tất cả sử dụng phân phối Vim giống như MacVim của bạn.


Trong khi --override-system-vimđã tạo ra một số các liên kết tượng trưng đối với tôi, nó không thể ghi đè lên /usr/bin/vim/usr/bin/vivà vì vậy tôi vẫn phải bằng tay aliasnày trong tôi .profile.
davetapley

12
Dave, nghe có vẻ như là một vấn đề PATH, / usr / local / bin cần phải là đầu tiên trong PATH của bạn. Câu trả lời này, chỉ vào brew, nên là câu trả lời số một, vì nó mang lại cho bạn mọi thứ bạn cần.
Jason Yanowitz

3
fyi đang chạy brew doctorsẽ thông báo cho bạn về bất kỳ vấn đề PATH hoặc cấu hình nào cho brew.
Andrew

Tuyệt vời! Cảm ơn đã đăng bài này. Tôi đã thêm --override-system-vim và thậm chí không nhận ra nó hữu ích như thế nào.
xer0x

Điều này không làm việc cho tôi, không chắc rằng đối số này vẫn hoạt động ??
ftrotter

43

Ngoài ra, nếu bạn muốn sử dụng MacVim (hoặc GVim) như $VISUALhoặc $EDITOR, bạn nên lưu ý rằng theo mặc định, MacVim sẽ rẽ nhánh một quy trình mới từ cha mẹ, dẫn đến giá trị trả về MacVim không đạt được quy trình cha. Điều này có thể gây nhầm lẫn cho các ứng dụng khác, nhưng Git dường như kiểm tra trạng thái của tệp tin nhắn cam kết tạm thời, bỏ qua giới hạn này. Nói chung, một cách thực hành tốt export VISUAL='mvim -f'là đảm bảo MacVim sẽ không rẽ nhánh một quy trình mới khi được gọi, nó sẽ cung cấp cho bạn những gì bạn muốn khi sử dụng nó với môi trường shell của bạn.


30

Nếu bạn đã cài đặt macVim: /Applications/MacVim.app/Contents/MacOS/Vim -gsẽ cung cấp cho bạn macVim GUI.

chỉ cần thêm một bí danh.

Tôi sử dụng gvimbởi vì đó là những gì tôi sử dụng trên linux cho gnome-vim.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'


1
Cũng sử dụng alias vim=/Applications/MacVim.app/Contents/MacOS/Vimlà một ý tưởng tuyệt vời. Sau đó, bạn không cần cài đặt MacVim qua MacPorts hoặc Homebrew để cập nhật Vim trong thiết bị đầu cuối của mình, bạn chỉ cần cài đặt các gói phát hành từ trang phát hành GitHub.
w0rp

Lưu ý: cũng hữu ích nếu homebrew từ chối cài đặt macvim vì bạn vẫn sử dụng "phiên bản cũ" này của macOS vì bất kỳ lý do gì. :)
tekHedd

24

Giả sử MacVim được cài đặt trong thư mục Ứng dụng.

Thay vì thêm đường dẫn MacVim vào môi trường của bạn, hãy tạo một liên kết bằng cách nhập đường dẫn này vào terminal:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Sau đó, mở một cửa sổ / tab thiết bị đầu cuối mới và gõ mvim.


18

Nếu bạn đã cài đặt homeBrew , đây là tất cả những gì bạn phải làm:

brew install macvim
brew linkapps

Sau đó nhập mvimvào thiết bị đầu cuối của bạn để chạy MacVim.


Vâng, đó là cách thực hiện với cài đặt mới, tôi nghĩ rằng anh ấy đang hỏi cách tạo bí danh khi nó đã được cài đặt.
JackHasaPal

1
Cảnh báo: brew linkappsđã không được chấp nhận và cuối cùng sẽ bị xóa!
Đánh dấu

13

Đây là những gì tôi đã làm:

Sau khi xây dựng Macvim, tôi đã sao chép mvim vào một trong những điểm đến $ PATH của mình (Trong trường hợp này tôi đã chọn / usr / local / bin)

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Sau đó, khi bạn gọi mvim, nó đã được nhận ra nhưng có một điều khó chịu. Nó mở cửa sổ MacVim trực quan, không phải cửa sổ trong terminal. Để làm điều đó, bạn phải gọi

mvim -v

Để đảm bảo mỗi lần bạn gọi mvim, bạn không cần phải nhớ thêm '-v', bạn có thể tạo bí danh:

bí danh mvim = 'mvim -v'

Tuy nhiên, bí danh này sẽ chỉ tồn tại cho phiên này của Terminal. Để thực hiện bí danh này mỗi khi bạn mở cửa sổ Terminal, bạn phải đưa nó vào .profile .profile phải có trong thư mục chính của bạn. Nếu không, hãy tạo nó.

cd ~
mvim -v .profile

bao gồm lệnh bí danh trong đó và lưu nó.

Đó là nó.


Đã thử điều này nhưng nó không làm việc cho tôi. VIM_APP_DIR = ~ / Tải xuống / MacVim-snapshot-64 / MacVim.app $ mvim -v xx Xin lỗi, không thể tìm thấy MacVim.app. Hãy thử đặt biến môi trường VIM_APP_DIR vào thư mục chứa MacVim.app.
Michael Durrant

Điều này hoạt động khi bạn xây dựng MacVim từ nguồn, github.com/macvim-dev/macvim/blob/master/README_mac.txt , cảm ơn @doureb
mbenegas 4/11/2015

1
Có lẽ tốt ln -shơn cpnó.
nnutter

1
Với -vcờ này thay đổi phông chữ không hoạt động. -vcho phép chế độ vi. Có thể tưởng tượng rằng những thứ khác không hoạt động trong chế độ này, ngoài việc đặt phông chữ tùy chỉnh.
Ixx

11

Tôi đang thêm nhận xét của Bard Park ở đây vì đó là câu trả lời thực sự cho tôi:

Vì mvim chỉ đơn giản là một tập lệnh shell, bạn có thể tải xuống trực tiếp từ nguồn MacVim tại GitHub tại đây: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim


/ usr / local / bin đã ở trong PATH của tôi, nhưng thư mục bin không có. Tôi gặp sự cố khi làm việc trực tiếp trong / usr / local, (có thể là sự cố về quyền), vì vậy tôi đã tạo một thư mục bin trong thư mục Tài liệu của mình. Ở đó tôi đã tạo một tệp mvim, trong đó tôi đã sao chép nội dung liên kết của Bard Park. Tôi đã kéo thư mục bin với tập lệnh mvim sang / usr / local. Tôi đã được yêu cầu nhập mật khẩu, sau đó được phép đặt tập lệnh mvim ở nơi tôi muốn. Nhưng kịch bản chưa chạy. Tôi đã nhập: sudo chmod 755 mvim để cấp quyền thực thi tập lệnh. Bây giờ từ dòng lệnh khi tôi gõ tên tệp mvim, MacVim khởi chạy.
Jerry Frost

Để kéo thư mục bin vào / usr / local, đầu tiên tôi nhập: open. từ dòng lệnh trong / usr / local. Làm như vậy sẽ hiển thị GUI tìm kiếm cho vị trí tệp đó.
Jerry Frost

8

Tôi thực sự khuyên bạn nên cài đặt MacVim qua MacPorts ( sudo port install MacVim).

Khi được cài đặt, MacPorts sẽ tự động cập nhật hồ sơ của bạn để bao gồm / opt / local / bin trong đường dẫn của bạn và vì vậy khi mvim được cài đặt là / opt / local / bin / mvim trong quá trình cài đặt MacVim, bạn sẽ thấy nó sẵn sàng để sử dụng ngay .

Khi bạn cài đặt cổng MacVim, gói MacVim.app cũng được cài đặt trong / Ứng dụng / MacPorts.

Một điều tốt khi đi theo lộ trình MacPorts là bạn cũng sẽ có thể cài đặt git ( sudo port install git-core) và nhiều cổng khác. Rất khuyến khích.


1
Cảm ơn tôi sẽ cho đi. Tôi đã cài đặt MacVim và Git bằng trình cài đặt UI. Nhưng nó trông giống như Macports là con đường để đi.
Fred

56
Không sử dụng các phiên bản cổng mac trừ khi bạn thực sự cần. Nó cài đặt tất cả các thư viện phụ thuộc bỏ qua darwin bản địa. Điều này có nghĩa là thay thế perl 5.10 của bạn bằng 5,8 trong đường dẫn, v.v. Thay vào đó hãy kiểm tra hệ thống homebrew (brew).
Slava Nadvorny

3
@SlavaNadvorny có thể đúng khi điều này được viết. Tôi hiện đang có một môi trường phát triển với MacVim, scipy, haskell, nhiều phiên bản erlang, python và perl đều hoạt động đúng với macports. Điều tương tự là không thể với brew (tại thời điểm này điều này đã được viết). Tôi thích cài đặt non-sudo của brew và muốn nó hoạt động trong trường hợp này.

Sử dụng homebrew hoạt động tuyệt vời quá brew install macvim.
Chev 21/11/13

2

Điều này làm việc cho tôi:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created

2

Đối với .appcác gói Mac , bạn nên cài đặt chúng qua thùng, nếu có, vì sử dụng symlink có thể gây ra sự cố. Bạn thậm chí có thể nhận được cảnh báo sau nếu bạn brew linkapps:

Thật không may, không brew linkappsthể cư xử tử tế với ví dụ Spotlight bằng cách sử dụng bí danh hoặc liên kết tượng trưng và công thức Homebrew không xây dựng .app các gói "phù hợp" có thể được định vị lại. Thay vào đó, vui lòng xem xét việc sử dụng brew caskvà di chuyển các công thức bằng cách sử dụng .apps sang casks.

Đối với MacVim, bạn có thể cài đặt với:

brew cask install macvim

Sau đó, bạn có thể khởi chạy MacVim giống như bất kỳ ứng dụng macOS nào khác, bao gồm mvimhoặc open -a MacVimtừ phiên cuối.

CẬP NHẬT : Một chút làm rõ về brewbrew cask. Tóm lại, brewxử lý phần mềm ở mức unix, trong khi brew caskmở rộng chức năng brewvào miền macOS để có thêm chức năng như xử lý vị trí của các gói ứng dụng macOS. Hãy nhớ rằng điều đó brewcũng được triển khai trên Linux nên có ý nghĩa khi có sự phân chia này. Có những tài nguyên khác giải thích sự khác biệt chi tiết hơn, chẳng hạn như sự khác biệt giữa brewvà là brew caskgì? Vì vậy, tôi sẽ không nói nhiều hơn ở đây.


Chúng ta có thể thêm một số sự rõ ràng về sự khác biệt giữa việc sử dụng cài đặt thùng và không cài đặt thùng không? Thật khó để nói sự khác biệt là gì khi cả hai lệnh thùng và không cài đặt thùng đều hoạt động ...
ftrotter

Tôi đã thêm một đoạn ngắn nhưng tôi không biết tất cả các chi tiết vì vậy tôi đã không đi vào chi tiết.
Ryan H.
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.