Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

  • Убедитесь, что вы не находитесь в режиме Visual/Insert
  • Поместите курсор на первую букву имени файла и нажмите gf

Ответ 2

G'day,

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

:checkpath

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

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

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

:checkpath!

Enter

:help path

чтобы получить дополнительную информацию о синтаксисе пути.

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

set path=/work

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

set path+=/work

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

HTH

Ответ 3

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

:set path+=./foo/bar

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

Мой vim не хотел искать такие include

#include <common/util/string.h>

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

:set path+=foo/bar

вместо

:set path+=./foo/bar

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

Ответ 4

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

file=help.txt