Vim phàn nàn về một tệp tạm thời khi mở cú pháp tô sáng các tệp trên Mac OS X


8

Khi tôi cố gắng mở một tệp (ví dụ: test / test_ resultence.rb) bằng Vim hoặc MacVim, tôi gặp lỗi sau:

"test/test_sequence.rb" 109L, 3697C
Vim(let):E484: Can't open file /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0

Điều này dường như chỉ giới hạn ở các tệp có một số loại cú pháp tô sáng. Tôi vẫn có thể chỉnh sửa tập tin nhưng tôi phải sử dụng: w! để viết những thay đổi lần đầu tiên. Tôi đang sử dụng vim trên Mac OS X. Tôi đã thử rất nhiều lỗi cho lỗi này mà không có may mắn và điều này đã trở nên thực sự bực bội. Bất cứ ai có thể cung cấp một sửa chữa cho điều này?

EDIT: Tôi không gặp phải lỗi này khi chỉnh sửa cú pháp tô sáng các tệp LaTeX nhưng thực hiện với cú pháp tô sáng các tệp Ruby.

Câu trả lời:


6

Hóa ra vấn đề là với vỏ. Vim đã cố gắng sử dụng / bin / screen làm shell

set shell /bin/sh

Trong vimrc của tôi đã khắc phục vấn đề.


3
Chỉ cần nhấn vào đây khi tôi thay đổi vỏ đăng nhập của mình thành fishshell. Cảm ơn vì tiền boa :)
Yeraze

Tương tự ở đây, sau khi đặt shell mặc định cho cá, nó đã xảy ra với tôi :)
imslavko

3
Vâng, nó đã phải thêm : set shell=/bin/bash.
paldepind

đối với tôi cú pháp phải làset shell=/bin/sh
Ganesh Hegde

Nhưng toàn bộ điều này có vẻ như filetype = ruby-cụ thể đối với tôi.
ThomasH

1

Tôi đã thấy rằng nếu bạn suvới một người dùng khác, các quá trình cố gắng sử dụng các tệp tạm thời có thể gây ra lỗi như /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0: permission denied; Cách khắc phục cho vấn đề này là unset TMPDIR(mà theo tôi, nguyên nhân /tmpđược sử dụng thay thế), bởi vì TMPDIR được chỉ định là dành riêng cho người dùng cũ và không thể ghi được bởi người dùng hiện tại.

Bạn chưa nói liệu bạn đang sử dụng suhay bất kỳ chuyển đổi người dùng nào khác và thông báo lỗi không đề cập đến quyền bị từ chối, nhưng ...


Cám ơn vì sự gợi ý. Tôi đã thử thay đổi vị trí của $ TMPDIR thành / tmp. Thay vào đó, tôi nhận được một lỗi chỉ đến / tmp / vzTkbXD / 0 bây giờ.
Michael Barton

1
Hãy thử unset TMPDIRthay thế. Và lỗi là gì? Nếu thông báo thực sự không hiển thị nó, hãy chạy sudo fs_usage MacVim(lưu ý rằng quy trình được đặt tên phải đang chạy ) và lưu ý lỗi trong cuộc gọi open () của nó là gì.
Kevin Reid

Cảm ơn bạn đã tiếp tục đề xuất để cố gắng giải quyết vấn đề này cho tôi, nó thực sự được đánh giá cao. Tôi đã thử bỏ chọn $ TMPDIR nhưng điều này cũng không khắc phục được lỗi. Thật không may Tôi không quen với lệnh fs_usage và tôi không thể tạo ra một số lỗi cho quy trình mở trong đầu ra fs_usage. Tôi đã dán toàn bộ đầu ra của fs_usage ở đây nếu đây là bất kỳ mục đích sử dụng nào - cl.ly/5c01de97b2276a73b569
Michael Barton

0

Vim đang cố mở một tập tin hoán đổi, bạn đã thử sửa chữa quyền chưa?


1
Cám ơn vì sự gợi ý. Tôi vừa mới chạy quyền sửa chữa của tiện ích đĩa hai lần nhưng tôi vẫn gặp vấn đề tương tự.
Michael Barton
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.