Como forço a abertura de novos arquivos no painel/coluna esquerdo do Sublime Text 2?

Como forço a abertura de novos arquivos no painel/coluna esquerdo do Sublime Text 2?

Estou usando o Sublime Text 2 no Windows 7, configurei-o para usar 2 colunas para edição dividida (no menu: Exibir > Layout > Colunas: 2), então agora tenho 2 painéis. Quando eu abro um novo arquivo através do Total Commander F4 Edit ou do menu de contexto do Explorer "Abrir com Sublime Text 2", o novo arquivo é aberto no painel atualmente ativo, isso não é um problema quando o painel esquerdo está ativo, mas quando o painel direito está ativo então ele abre no painel direito, que é o comportamento que não quero. É possível sempre abrir novos arquivos para edição no painel esquerdo? Se sim, como faço isso?

Czarek.

Responder1

Não há uma maneira nativa de fazer isso no Sublime Text 2. O que você deseja é poder mudar para o grupo de janelas esquerdo (grupo 0), abrir um arquivo e então (possivelmente, não está claro na sua pergunta) voltar para o grupo de janelas direito (grupo1).

Isto pode ser conseguido com uma série deComandos de texto sublime. Especificamente move_to_group,prompt_open_file,move_to_group.

Infelizmente, a capacidade nativa do Sublime de agrupar comandos e macros só funciona em comandos de manipulação de texto, não em comandos de janela. E os atalhos de teclado aceitam apenas comandos únicos. Então você tem 2 opções

Opção sem plug-in

Basta digitar Ctrl+1 antes de pressionar Ctrl+O. Esta é uma maneira bastante rápida de mudar para o grupo de janelas esquerdo e abrir o arquivo. Você pode então usar Ctrl+2 para voltar posteriormente, se necessário.

A solução completa (mais envolvente)

Você pode instalar ocódigo do plugin encontrado nos fóruns do Sublimepara criar um comando "executar vários comandos". Você pode então criar um atalho de teclado para o que deseja. Suponho que você gostaria apenas de substituir a opção de abertura padrão, então vamos vinculá-la a 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"}
          ]}}

Isso funcionará depois de instalar o plugin do link reproduzido abaixo. Para instalá-lo, você pode simplesmente instalá-lo como um arquivo .py na pasta %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)

informação relacionada