Когда я редактирую файл в Vim, есть ли команда, чтобы увидеть путь к текущему файлу? Иногда это очень удобно, если в проекте несколько файлов с одинаковыми именами.
statusline
thameera
источник
источник
Ctrl+G
похоже на «путь относительно cwd» vim?C-g
это значение по умолчанию для0C-g
, и кроме того2C-g
показывает номер индекса буфера (начиная с 1).1C-g
!Регистр
%
содержит имя текущего файла.Для отображения отображаемой информации можно ввести следующие команды:
Если все, что вам нужно, это отобразить имя текущего файла, введите
:f
/:ls
или нажмите Ctrl- g(для полного пути нажмите 1затем Ctrl- g).В режиме вставки, типа Ctrl- а rзатем %вставить имя текущего файла.
Следующие команды вставляют в буфер строки, состоящие из полного пути текущего и альтернативного файлов:
Источник: Получить имя текущего файла на vim wikia.
Связанный:
источник
=expand...
выражения после того,Ctrl-R
как в режиме вставки.Вы можете использовать,
:!ls %:p
чтобы получить полный путь к текущему файлу.В зависимости от контекста ex,
%
будет означать либо содержимое файла, либо имя файла. При выделении он представляет путь к файлу относительно текущего каталога. Команда '%:p
' добавит модификатор полного пути к имени файла%
.Есть несколько других интересных модификаторов имени файла, таких как:
:~
: Получить путь к файлу относительно домашнего каталога (по какой-то причине он у меня не работал):.
: Получить путь к файлу относительно текущего каталога (по%
умолчанию):r
: Имя файла root. Имя файла без расширения.:e
: Расширение файла.:h
: Разделить/
и вернуть левую половину (т. Е. Если я редактирую файл по пути/tmp/test.txt
и запустить%:p:h
вернется/tmp
:t
: Разделить/
и вернуть правую половину (т. Е. Если я редактирую файл по пути/tmp/test.txt
и запустить%:p:t
вернетсяtext.txt
источник
Можно увидеть текущий рабочий каталог с
:pwd
. Конечно, это только каталог, а не имя файла. Чтобы получить рабочий каталог и имя файла, мы можем использовать специальный регистр%
, который содержит информацию о текущем файле.Если вы используете
:echo @%
, вы получите каталог и имя файла текущего файла.Если вы используете
:echo expand('%:p')
, вы получите полный путь и имя файла текущего файла. Это очень похоже на ответ CharlesL .Я помню этот, хотя, потому что если вы используете помощь VIM в
:h expand
, то он отмечает , что%
и%:p
и их родственники.источник
Я использую:
Это
:f
или:file
.Я удивлен, что никто не упомянул это в ответах, я что-то упустил?
источник
Чтобы показать полный путь для всех файлов, включая разрешенные символические ссылки, используйте следующее.
источник
Есть несколько лучших ответов, но если (по какой-то причине) вы хотите использовать оболочку, чтобы получить полный путь к файлу (это более полезно, если вы собираетесь выполнить какую-либо другую операцию над файлом с оболочкой), в Unix-подобной системе вы можете запустить:
или же:
вставить путь в документ поверх текущего выделения.
Регистр
%
всегда содержит имя файла. Пример реального мира может быть, если вы редактируете файл конфигурации, но у вас нет прав на запись (и вы не хотите запускать Vim от имени пользователя root), вы можете отредактировать файл, а затем запустить:сохранить файл (немного оффтоп, но это хороший пример того, что еще можно сделать с помощью
%
регистра).источник
realpath
не POSIX, так что это может быть проще сделать:!echo "$PWD/%"
Вам необходимо установить строку состояния для просмотра, а также установить путь. Я сделал это навсегда, добавив две строки ниже в мой ~ / .vimrc
Если вы хотите просто запустить это один раз. Затем при просмотре типа документа
источник
Я использую авиакомпанию Vim для этого и некоторые приятные функции:
источник
Вы можете показать полный путь к файлу, который вы редактируете, в строке заголовка, что, на мой взгляд, является удобным способом показать путь к файлу.
Для этого вам нужно установить
title
опцию иtitlestring
. В настоящее время я использую следующие настройки:Он покажет имя хоста Vim, затем полный путь к файлу и время последнего изменения файла. Смотрите рисунок ниже для демонстрации
источник