Reputation: 2446
I don't often use ST console (I used it only once to install package manager), but I suppose it could be good way to :
Does anyone know an easy way to get current file path?
Upvotes: 164
Views: 64506
Reputation: 139
A lot of these answers involve touching the mouse. Here's how to do get the path without any mouse clicks using SideBarEnhancements
path
until you see File: Copy Path
File: Copy Path
Now the path to file you are working in is copied into your clipboard.
Edit: As pointed out by @Antoine in the comments, as of 2024 the package SideBarEnhancements no longer provides this functionality. The FileManager package is the replacement for SideBarEnhancements. The steps using FileManager are
super + shift + P
to open the command palettecopy path
until you see the FileManager options FileManager: Copy Path From Root
, FileManager: Copy Absolute Path
, and FileManager: Copy Relative Path
Upvotes: 3
Reputation: 336
Folder Path:
File Path:
Upvotes: 1
Reputation: 521
Easy to understand using image. On Right Click you will get this.
Transcribed code in image for convenience:
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
Upvotes: 24
Reputation: 11454
If you're like me and always click on items in the sidebar just to realize that copying the path only works when clicking in the editor area, have a look at the SideBarEnhancements package. It has a huge bunch of options to copy file paths in a variety of different ways.
Installation is available via Package Control (despite the webpage only mentions installation via manual download).
Note: The package “sends basic, anonymous statistics”. The webpage explains how to opt out from that.
Upvotes: 2
Reputation: 950
There is a Sublime Package which gives your current file location inside a status bar. I just cloned them directly to my /sublime-text-3/Packages folder.
git clone [email protected]:shagabutdinov/sublime-shell-status.git ShellStatus;
git clone [email protected]:shagabutdinov/sublime-status-message.git StatusMessage;
You have to check/read the description on GitHub. Even it is listed in package control it would not install properly for me. You can actually edit the shell output as you want. If you have the right skills with python/shell.
Looks like this (Material Theme)
Upvotes: 2
Reputation: 606
Go to this link. The code in the link is given by robertcollier4.
Create a file named CpoyFileName.py
or whatever you like with .py extension.
Save the file in Sublime Text 3\Packages\User
folder. Then paste the above given key bindings in your Preferences: Key Bindings
file.
Now, you can use the specified key bindings to copy just filename or total (absolute) filepath.
Please note that the filename or filepath do contain file extension.
Upvotes: 1
Reputation: 1790
To easily copy the current file path, add the following to Key Bindings - User
:
{ "keys": ["ctrl+alt+c"], "command": "copy_path" },
Key Bindings - User
can be opened via the command palette (command + p
on OSX)
Upvotes: 30
Reputation: 5554
Right click somewhere in the file (not on the title tab) --> Copy file path
If you don't want to use the mouse, you could set up a keyboard shortcut as explained here https://superuser.com/questions/636057/how-to-set-shortcut-for-copy-file-path-in-sublime-text-3
Upvotes: 308