在 Sublime 中复制文件名和路径

Copy file name and path in Sublime

我试图找到可以执行此操作的命令、插件或任何东西。本质上我需要两个键盘快捷键。一个复制当前文件路径(仅当前目录,而不是文件名)。另一个只复制文件名(扩展名例如;“test.txt”)。

您可以使用像这样的简单插件来完成此操作(如果您不确定如何安装它,请参阅此 video on using plugins in Sublime):

import sublime
import sublime_plugin

import os


class CopyFilePathCommand(sublime_plugin.TextCommand):
    def run(self, edit, name=False):
        path, filename = os.path.split(self.view.file_name())

        sublime.set_clipboard(filename if name else path)
        self.view.window().status_message(
            'Copied file %s' % ("name" if name else "path"))

    def is_enabled(self, name=False):
        return self.view.file_name() is not None

这实现了一个名为 copy_file_path 的命令,默认情况下会将当前文件的路径复制到剪贴板,如果您传递 true 作为值,则切换为复制文件名name 参数。

状态栏中会显示一条消息,告诉您复制了哪些内容,对于尚未保存到磁盘的任何文件,该命令将自行禁用(因为它没有复制路径) .

示例键绑定可能如下所示:

{ "keys": ["ctrl+shift+alt+p"], "command": "copy_file_path", "args": {"name": false}},
{ "keys": ["ctrl+shift+alt+f"], "command": "copy_file_path", "args": {"name": true}},