
Я использую Sublime Text 2 на Windows 7, я настроил его на использование 2 столбцов для разделенного редактирования (в меню: Вид > Макет > Столбцы: 2), так что теперь у меня 2 панели. Когда я открываю новый файл через Total Commander F4 Edit или контекстное меню Проводника "Открыть с помощью Sublime Text 2", то новый файл открывается в текущей активной панели, это не проблема, когда активна левая панель, но когда активна правая панель, то он открывается в правой панели, что мне не нужно. Можно ли всегда открывать новые файлы для редактирования в левой панели? Если да, то как это сделать?
Чарек.
решение1
В Sublime Text 2 нет встроенного способа сделать это. Вам нужна возможность переключиться на левую группу окон (группа 0), открыть файл, а затем (возможно, это не ясно из вашего вопроса) переключиться обратно на правую группу окон (группа 1).
Этого можно добиться с помощью серииКоманды Sublime Text. В частности, move_to_group,prompt_open_file,move_to_group.
К сожалению, встроенная возможность Sublime для связывания команд, макросов, работает только с командами обработки текста, а не с командами окна. А сочетания клавиш принимают только отдельные команды. Так что у вас есть 2 варианта
Вариант без плагинов
Просто нажмите Ctrl+1, прежде чем нажать Ctrl+O. Это довольно быстрый способ переключиться на левую группу окон и открыть файл. Затем вы можете использовать Ctrl+2, чтобы переключиться обратно, если это необходимо.
Полное (более сложное) решение
Вы можете установитьКод плагина найден на форумах Sublimeдля создания команды "запустить несколько команд". Затем вы можете создать сочетание клавиш для того, что вам нужно. Я предполагаю, что вы хотели бы, чтобы оно просто переопределило опцию открытия по умолчанию, поэтому давайте привяжем ее к Ctrl+O
{ "keys": ["ctrl+o"],
"command": "run_multiple_commands",
"args": {
"commands": [
{"command": "move_to_group", "args": {"group": 0 }, "context": "window"},
{"command": "prompt_open_file", "context": "window"},
{"command": "move_to_group", "args": {"group": 1 }, "context": "window"}
]}}
Это будет работать после установки плагина по ссылке, воспроизведенной ниже. Чтобы установить его, вы можете просто установить его как файл .py в папке %APPDATA%\Sublime Text 2\Packages\User.
# run_multiple_commands.py
import sublime, sublime_plugin
# Takes an array of commands (same as those you'd provide to a key binding) with
# an optional context (defaults to view commands) & runs each command in order.
# Valid contexts are 'text', 'window', and 'app' for running a TextCommand,
# WindowCommands, or ApplicationCommand respectively.
class RunMultipleCommandsCommand(sublime_plugin.TextCommand):
def exec_command(self, command):
if not 'command' in command:
raise Exception('No command name provided.')
args = None
if 'args' in command:
args = command['args']
# default context is the view since it's easiest to get the other contexts
# from the view
context = self.view
if 'context' in command:
context_name = command['context']
if context_name == 'window':
context = context.window()
elif context_name == 'app':
context = sublime
elif context_name == 'text':
pass
else:
raise Exception('Invalid command context "'+context_name+'".')
# skip args if not needed
if args is None:
context.run_command(command['command'])
else:
context.run_command(command['command'], args)
def run(self, edit, commands = None):
if commands is None:
return # not an error
for command in commands:
self.exec_command(command)