在 Sublime Text 2 中重新命名已開啟的文件

在 Sublime Text 2 中重新命名已開啟的文件

我正在嘗試重命名 sublime text 2 中打開的文件。版本 2.0.1 內部版本 2217,您可以透過按f2或 按opening the command palette by pressing Ctrl + Shift + P and entering rename。然而在最新版本的 Sublime Text 2 中2.0.2 版本 2221當你嘗試做同樣的事情時,什麼事也不會發生。我還在使用者金鑰綁定檔案中輸入了以下命令,但同樣沒有任何反應。

{ "keys": ["f2"], "command": "rename_path", "args": {"paths": []} }

Windows 和 Linux 上都會出現這種情況。我已經在沒有插件的 Sublime Text 2 的新副本上嘗試過這個。

答案1

複製到您的使用者鍵盤映射

{ "keys": ["shift+f2"], "command": "rename_file", "args": { "paths": ["$file"] } }

在您的目錄中建立目錄/文件包資料夾:“...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

答案2

參考:http://www.sublimetext.com/forum/viewtopic.php?f=2&t=9534

設定重命名檔案的鍵盤快速鍵的另一種簡單方法:

安裝側邊欄增強功能,並在以下位置設定快捷方式Key Bindings - User

{ "keys": ["your shortcut combination"], "command": "side_bar_move" }

答案3

這是 Sublime Text 3 的套件:

https://github.com/brianlow/FileRename

相關內容