Vim проблема с командой gf - PullRequest
       0

Vim проблема с командой gf

17 голосов
/ 19 декабря 2009

Я использую Vim , и я установил путь (set path+= c:/work/etc/etc) к каталогу моего проекта (для C #), но все еще используя команду 'gf', выдает ошибку:

E: 447 Не удается найти файл.

Есть ли что-то, что я делаю здесь не так?

Ответы [ 5 ]

15 голосов
/ 19 декабря 2009

G'day,

Чтобы получить более подробную информацию о текущих настройках пути, вы можете увидеть, что включено, и какие файлы vim не может найти, введя команду:

:checkpath

и вы получите дамп файлов, которые не были найдены, например,

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

Или вы можете получить список всех включенных файлов, как найденных, так и не найденных, введя

:checkpath!

Введите

:help path

для получения дополнительной информации о синтаксисе пути.

Редактировать: Не забывайте, что с использованием синтаксиса

set path=/work

полностью сбросит переменную пути к тому, что вы только что объявили. Я бы предложил использовать

set path+=/work

вместо. Это не сожжет текущий путь и просто добавит ваш каталог / work.

HTH

6 голосов
/ 08 июня 2017

Я также узнал, что

:set path+=./foo/bar

добавляет местоположение поиска относительно каталога текущего файла, так же как и '.' делает.

Мой vim не хотел искать, например, включить

#include <common/util/string.h>

Так что мне нужно было сделать

:set path+=foo/bar

вместо

:set path+=./foo/bar

Первый добавляет путь поиска относительно текущего рабочего каталога. Надеюсь, это кому-нибудь поможет.

3 голосов
/ 19 декабря 2009

Сначала вы можете открыть файл, используя : найти имя файла. ? (: помогите найти для получения дополнительной информации). Если это не работает, то ваш путь неверен. Если : find обнаружит ваш файл, выполните следующие действия:

  1. Убедитесь, что вы не находитесь в режиме Визуальный / Вставить
  2. Поместите курсор на первую букву имени файла и нажмите gf
0 голосов
/ 30 марта 2019

Я знаю, что это старый вопрос, но у меня также были некоторые проблемы с этим по другой причине, и мне потребовалось некоторое время, чтобы выяснить, почему. Я надеюсь, что это может быть полезно для кого-то.

Если каталог соответствует wildignore, gf не работает для файлов в нем, а также: find.

Это очевидно, если вы читаете документацию wildignore, но я забыл, что когда-либо менял эту переменную и для чего именно. Также я использовал glob, и для меня не сразу было очевидно, что каталог, в котором я использовал gf, также соответствовал этому глобу.

0 голосов
/ 19 декабря 2009

Убедитесь, что в имени файла нет начального символа, если вы нажмете gf, т. Е. С помощью gf, когда курсор находится на help.txt, здесь работать не будет:

file=help.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...