Как (легко) получить текущий путь к файлу в Sublime Text 3

120

Как (легко) получить текущий путь к файлу в Sublime Text 3

Я не часто использую консоль ST ( я использовал ее только один раз для установки диспетчера пакетов ), но я полагаю, что это может быть хорошим способом:

  • получить текущий путь к файлу, как какую-то команду pwd .
  • Но не работает.

Кто-нибудь знает простой способ получить текущий путь к файлу?

  • в буфер обмена: лучше не ставить строгую цель в ответ
  • не требуется командой ST, может быть, пакет?
MacKentoch
источник
2
Если вам интересно, в консоли вы получаете путь с помощью view.file_name()и копируете его в буфер обмена с помощьюsublime.set_clipboard(view.file_name())
sergioFC
Если вы хотите увидеть путь, просто наведите указатель мыши на вкладку, и появится всплывающая подсказка с путем.
becko

Ответы:

229

Щелкните правой кнопкой мыши где-нибудь в файле (не на вкладке заголовка) -> Копировать путь к файлу

Если вы не хотите использовать мышь, вы можете настроить сочетание клавиш, как описано здесь /superuser/636057/how-to-set-shortcut-for-copy-file-path-in -sublime-текст-3

Railslide
источник
1
Также работает с возвышенным текстом 2. Так здорово, но так просто
beautifulcoder
1
Правый щелчок по изображениям, похоже, не работает: /
авг
2
Ключевое слово @aug является "текстом" в имени Sublime Text.
Майк Корменди
4
был здесь раньше ... черт возьми, я продолжаю
zok
3
жаль, что это невозможно на вкладке, вы должны переключить вкладку, прежде чем это делать, иногда это немного раздражает
Рафики
21

Чтобы легко скопировать текущий путь к файлу, добавьте следующее в Key Bindings - User:

{ "keys": ["ctrl+alt+c"], "command": "copy_path" },

Источник

Key Bindings - Userможно открыть с помощью палитры команд ( command + pв OSX)

cheshireoctopus
источник
3
Как узнать, что copy_pathэто правильная команда? Как мы узнаем, что доступно? Есть ли какие-то документы, которые я пропустил?
cyber8200
2
@ihue - хороший вопрос; не удалось найти copy_pathв документации; если вы ознакомитесь с источником, который я предоставил выше, этот пользователь включил регистрацию команд через sublime.log_commands(True).
cheshireoctopus
13

Легко понять, используя изображение. Щелкнув правой кнопкой мыши, вы получите это.

введите описание изображения здесь

Расшифрованный код на картинке для удобства:

import sublime, sublime_plugin, os

class CopyFilenameCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if len(self.view.file_name()) > 0:
            filename = os.path.split(self.view.file_name())[1]
            sublime.set_clipboard(filename)
            sublime.status_message("Copied file name: %s" % filename)

    def is_enabled(self):
        return self.view.file_name()...  # can't see
Суяш Кумар Бхарти
источник
4

Mac OS X - Sublime Text 3

Щелкните правой кнопкой мыши >Копировать путь к файлу

введите описание изображения здесь

cyber8200
источник
2

Существует Sublime Package, который показывает ваше текущее местоположение файла в строке состояния. Я просто клонировал их прямо в папку / sublime-text-3 / Packages.

git clone git@github.com:shagabutdinov/sublime-shell-status.git ShellStatus;

git clone git@github.com:shagabutdinov/sublime-status-message.git StatusMessage;

Вы должны проверить / прочитать описание на GitHub. Даже если он указан в разделе управления пакетами, я не смог бы правильно установить его. Фактически вы можете редактировать вывод оболочки по своему усмотрению. Если у вас есть навыки работы с python / shell.

Похоже на это (Материальная тема) введите описание изображения здесь

TecBeast
источник
2

Если вы похожи на меня и всегда нажимаете элементы на боковой панели, чтобы понять, что копирование пути работает только при нажатии в области редактора, взгляните на SideBarEnhancements пакет . Он имеет огромное количество опций для копирования путей к файлам различными способами.

Установка доступна через Package Control (несмотря на то, что на веб-странице упоминается только установка посредством ручной загрузки).

Примечание . Пакет «отправляет основную анонимную статистику» . На веб-странице объясняется, как отказаться от этого.

SublimeSideBarEnhancementsScreenshot

qqilihq
источник
1

Перейдите по этой ссылке . Код в ссылке предоставлен robertcollier4 .

Создайте файл с именем CpoyFileName.py или другим с расширением .py.

Сохраните файл в Sublime Text 3\Packages\Userпапке. Затем вставьте указанные выше привязки клавиш в свой Preferences: Key Bindingsфайл.

Теперь вы можете использовать указанные привязки клавиш для копирования только имени файла или полного (абсолютного) пути к файлу.

Обратите внимание, что имя файла или путь к файлу действительно содержат расширение файла.

bantya
источник
0

Многие из этих ответов связаны с прикосновением к мыши. Вот как получить путь без каких-либо щелчков мыши с помощью SideBarEnhancements

  1. Установите SideBarEnhancements с помощью PackageControl.
  2. Нажмите super + shift + P, чтобы открыть палитру команд.
  3. На панели команд начинайте вводить текст, pathпока не увидитеFile: Copy Path
  4. Выбрать File: Copy Path

Теперь путь к файлу, с которым вы работаете, скопирован в буфер обмена.

Аарон Далл
источник