2009-12-19 20 views
13

Tôi đang sử dụng Vim và tôi đã thiết lập các đường dẫn (set path+= c:/work/etc/etc) vào thư mục dự án của tôi (cho C#), nhưng vẫn còn sử dụng lệnh 'gf' cho tôi lỗi:vấn đề Vim với lệnh gf

E:447 Can't find file.

Có bất cứ điều gì tôi đang làm sai ở đây?

+2

Tôi luôn gặp sự cố khi cố gắng chỉ huy gf – Nifle

Trả lời

3

Trước tiên, bạn có thể mở tệp bằng : tìm tệp.name? (: giúp tìm số để biết thêm thông tin). Nếu điều này không hoạt động thì đường dẫn của bạn sai. Nếu : tìm không xác định vị trí tập tin của bạn sau đó làm như sau:

  1. Đảm bảo rằng bạn đang không ở trong Visual/Insert chế độ
  2. Đặt con trỏ vào chữ cái đầu tiên của tên tập tin và nhấn gf
+0

Cảm ơn bạn đã mở tệp bằng lệnh tìm. – gearsin

0

Hãy chắc chắn rằng không có nhân vật dẫn đến tên tập tin nếu bạn bấm gf, tức là sử dụng gf khi con trỏ là trên help.txt sẽ không làm việc ở đây:

file=help.txt 
13

G'day,

Để có được chi tiết hơn một chút về thiết lập đường dẫn hiện tại của bạn, bạn có thể thấy là những gì inclu và các tệp vim không thể tìm thấy bằng cách nhập lệnh:

:checkpath 

và bạn sẽ nhận được một tập hợp các tệp không tìm thấy, ví dụ:

--- Included files not found in path --- 
<io.h> 
vim.h --> 
    <functions.h> 
    <clib/exec_protos.h> 

Hoặc bạn có thể nhận được một danh sách của tất cả bao gồm tác phẩm, cả hai tìm thấy và không tìm thấy, bằng cách nhập

:checkpath! 

Nhập

:help path 

để nhận được thông tin thêm về cú pháp đường.

Edit: Đừng quên rằng việc sử dụng cú pháp

set path=/work 

sẽ đặt lại hoàn toàn biến đường dẫn của bạn với những gì bạn vừa khai báo. Tôi khuyên bạn nên sử dụng

set path+=/work 

để thay thế. Điều này sẽ không clobber đường dẫn hiện tại và sẽ chỉ cần thêm thư mục/work của bạn để thay thế.

HTH

+1

Tôi đã cố gắng sử dụng checkpath và nó cung cấp cho tôi thông báo "Đã tìm thấy tất cả các tệp được bao gồm". và có tôi đã sử dụng đường dẫn thiết lập + = mypath. Cảm ơn. – gearsin

1

Tôi cũng phát hiện ra rằng

:set path+=./foo/bar 

thêm một vị trí tìm kiếm tương đối so với thư mục của tập tin hiện tại, giống như '' làm.

vim tôi không muốn tìm kiếm này bao gồm

#include <common/util/string.h> 

Vì vậy, những gì tôi cần phải làm

:set path+=foo/bar 

thay vì

:set path+=./foo/bar 

Các cựu đã bổ sung thêm một tìm kiếm đường dẫn tương đối so với thư mục làm việc hiện tại. Hy vọng nó giúp ai đó.