I am trying to rename open files in sublime text 2. In version 2.0.1 Build 2217, you could rename by pressing f2 or by opening the command palette by pressing Ctrl + Shift + P and entering rename. However in the latest version of sublime text 2 which is 2.0.2 Build 2221 when you try to do the same thing nothing happens. I have also entered the following command in the users key binding file but again nothing happens.
{ "keys": ["f2"], "command": "rename_path", "args": {"paths": []} }
This happens on both windows & linux. I have tried this on a fresh copy of Sublime Text 2 with no plugins.
13 Answers
Copy to your User keymap
{ "keys": ["shift+f2"], "command": "rename_file", "args": { "paths": ["$file"] } }Create directory/file in your Packages folder: "...Packages/RenameFile/rename_file.py"
import sublime
import sublime_plugin
import os
import functools
class RenameFileCommand(sublime_plugin.WindowCommand): def run(self, paths): if paths[0] == "$file": paths[0] = self.window.active_view().file_name() branch, leaf = os.path.split(paths[0]) v = self.window.show_input_panel("New Name:", leaf, functools.partial(self.on_done, paths[0], branch), None, None) name, ext = os.path.splitext(leaf) v.sel().clear() v.sel().add(sublime.Region(0, len(name))) def on_done(self, old, branch, leaf): new = os.path.join(branch, leaf) try: os.rename(old, new) v = self.window.find_open_file(old) if v: v.retarget(new) except: sublime.status_message("Unable to rename") def is_visible(self, paths): return len(paths) == 1 5 Reference:
Another simple way to set up a keyboard shortcut for renaming files:
Install SideBar Enhancements, and set up the shortcut in Key Bindings - User:
{ "keys": ["your shortcut combination"], "command": "side_bar_move" }
Here is a package for Sublime Text 3:
0