2010-09-23 36 views
8

Trên máy Mac OSX 10.6 của tôi, tôi bắt đầu sử dụng MacVIM cho vim. Sau đó, tôi nhận thấy phiên bản đầu cuối của tôi là khác nhau với phiên bản MacVIM (MacVIM là 7.3 và phiên bản thiết bị đầu cuối của tôi 7.2) ... Tôi nghĩ rằng họ đã sử dụng cùng một vim?Biên dịch vim từ nguồn trên Mac OSX và nhận lỗi 'shell trả về 127'?

Tôi cần 7.3 đối với một số tính năng. Vì vậy, tôi đặt về muốn cập nhật phiên bản thiết bị đầu cuối. Tôi về cơ bản nhân bản nó bằng cách sử dụng Mercurial (theo cách trả lời theo trang web chính thức) và sau đó đã làm thông thường để biên dịch nó. Điều này đã làm việc và bây giờ tôi có 7,3 trong thiết bị đầu cuối của tôi. Nhưng, trên một số lệnh khi thoát khỏi, tôi có thể lỗi này:

/bin/bash: q: command not found 

shell returned 127 

Press ENTER or type command to continue 

... Tôi đã cố gắng của tôi khó khăn nhất để thử và khắc phục vấn đề này, nhưng cố gắng để cài đặt lại MacVim, xóa vim trong tôi/usr/local/bin và biên dịch lại và tôi không thể loại bỏ được lỗi gây phiền nhiễu này.

Có ai có thể giúp tôi không? Tôi có làm điều này sai không? ... hầu hết thời gian tôi sẽ sử dụng MacVIM, nhưng sẽ tốt hơn nếu tôi có nó trong Terminal - chính xác là tôi có nó trên máy chủ Ubuntu của mình như thế nào.

Mọi trợ giúp đều tuyệt vời!

Trả lời

5

Tôi không chắc chắn trên con đường chính xác, nhưng ở đâu đó một vài thư mục sâu vào thư mục Applications/MacVim.appvim thực thi đó cũng sẽ chạy trong một thiết bị đầu cuối (Sử dụng tùy chọn -g để khởi động nó trong chế độ GUI) .

Bạn sẽ có thể ném này trong .bashrc của bạn:

alias vim=/Applications/MacVim.app/Contents/MacOS/vim 
+0

Đơn giản và giải quyết được vấn đề, cảm ơn! – littlejim84

+2

'bí danh vim =/Ứng dụng/MacVim.app/Nội dung/MacOS/vim' –

53

:!q không phải là :q!. Đây có lẽ không phải là lỗi.

Thông báo lỗi bạn nhìn thấy rất có thể là kết quả của việc nhập nhầm :!q thay vì :q!, đây sẽ là lỗi người dùng chứ không phải lỗi. :!q vỏ ra để chạy q, và vỏ của bạn (bash) không được tìm ra một lệnh và bails như vậy với 127. (Để so sánh, bạn có thể thử :!true, :!false, :!vim %, để có được một cảm giác về điều này.)

Có không thực sự là một "sửa chữa" cho điều này, và ! thực sự hữu ích cho các mục đích khác; có thể với nhiều thực hành hơn, bạn sẽ làm cho lỗi đánh máy ít thường xuyên hơn. Bạn cũng có thể thử sử dụng ZQ thay vì :q!; điều này có những nhược điểm khác (một lỗi đánh máy ZZ thay vào đó sẽ lưu tệp nếu nó được chỉnh sửa và ZQ cụ thể là một phần mở rộng vim), nhưng ít nhất bạn lại gặp lại lỗi này.

Bản cập nhật ở đây về cơ bản là kiểm tra để đảm bảo bạn đã nhập đúng các lệnh của mình, tôi đoán vậy.

+3

vĩ đại. Tôi nghĩ rằng đây sẽ là câu trả lời được chấp nhận – banarun

1

Đây là công thức homebrew cho vim. Hãy thử các cài đặt này để "định cấu hình" hoặc chỉ cài đặt homebrew và cài đặt vim từ đó.

system "./configure", "--prefix=#{prefix}", 
         "--mandir=#{man}", 
         "--enable-gui=no", 
         "--without-x", 
         "--disable-nls", 
         "--enable-multibyte", 
         "--with-tlib=ncurses", 
         "--enable-pythoninterp", 
         "--enable-rubyinterp", 
         "--with-features=huge" 
system "make" 
system "make install" 
+0

những gì có tất cả 'hệ thống'? tại sao không chỉ sử dụng kịch bản lệnh shell? – muhmuhten

+0

homebrew là một trình quản lý gói cho osx. Hệ thống các cuộc gọi ở trên là một phần của công thức mà là một kịch bản ruby. Xem http://mxcl.github.com/homebrew/ – abdollar

+0

Tôi thực sự không thể tìm thấy công thức vim bình thường trong kho lưu trữ homebrew. Tất cả những gì tôi tìm thấy là macvim. Nó đã bị xóa chưa? – Marlun

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