Como eu seleciono uma linha no OSX?

8

Estou editando o texto. Uma maneira complicada de selecionar uma linha seria ir ao início da linha (cmd & lt ;-) e depois selecionar toda a linha até o final (Shift cmd - >). Posso fazer melhor?

Também atalhos para cortar a linha e armazená-la em um buffer seriam bem-vindos. (cmd D) não armazena a linha em um buffer.

    
por Dávid Natingga 20.04.2013 / 00:27

7 respostas

9

Eu sempre uso o seguinte:

  • cmd - Left arrow para chegar ao início da linha
  • shift + cmd + right arrow para marcar a linha
  • cmd - C (ou cmd - X ) para copiar (ou cortar) a linha marcada na área de transferência

Então eu posso ir onde quiser e colar a linha com cmd - v .

Mas como o MacOS é strongmente fixado a uma interface gráfica do usuário, o uso sem o mouse é possível, mas às vezes - como no seu caso - envolve um pressionamento de tecla que mais se deseja.

    
por 20.04.2013 / 07:44
4

A maioria dos aplicativos (Terminal, TextEdit, URL / barra de pesquisa do Safari, etc) que aceitam entrada de texto honra ligações padrão (não tem certeza de qual padrão ... ANSI, ASCII?) que inclui

control + a : início da linha

control + e : fim da linha

Então, controla + desloca + a ou e para selecionar uma linha dependendo da sua posição.

Além disso:

control + deslocamento : mata para o fim de linha

control + deslocamento : yank (do buffer)

Uma lista completa pode ser gerada com o comando bindkey no Terminal, embora nem todos funcionem em todos os aplicativos.

    
por 21.04.2013 / 03:15
1

Você pode criar ~/Library/KeyBindings/ e salvar uma lista de propriedades como DefaultKeyBinding.dict :

{
    "~l" = selectParagraph:;
    "~z" = (selectParagraph:, delete:);
    "~x" = (selectParagraph:, cut:);
    "~c" = (selectParagraph:, copy:);
}

Após reabrir aplicativos, por exemplo, ⌥L deve selecionar uma linha na maioria das exibições de texto nativo. Não funciona no Eclipse, Terminal ou Xcode. Para obter mais informações, consulte o artigo Sistema de texto de cacau ou meu site .

Outra opção é usar o KeyRemap4MacBook e salvar algo como private.xml :

<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<not>TERMINAL</not>
<not>EMACS</not>
<not>VIRTUALMACHINE</not>
<not>ECLIPSE</not>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::A, ModifierFlag::CONTROL_L, KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>test2</name>
<identifier>test2</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
</root>

Na maioria das aplicações ⌃A move-se para o início de uma linha desembrulhada e ⌘ ← se move para o início de uma linha quebrada, mas ⌃A não parece funcionar no Eclipse.

Veja a fonte dos valores do código-chave e configurações predefinidas .

    
por 20.04.2013 / 09:17
1

Eu encontrei uma solução que parece estar funcionando em todos os aplicativos Cocoa: tem a home & As chaves end comportam-se como máquinas que não são da Apple (vão para o começo / fim de uma linha em vez de um documento inteiro).

Um arquivo ~/Library/KeyBindings/DefaultKeyBinding.dict precisa conter o seguinte:

{
    /* home */
    "\UF729"  = "moveToBeginningOfLine:";
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:";

    /* end */
    "\UF72B"  = "moveToEndOfLine:";
    "$\UF72B" = "moveToEndOfLineAndModifySelection:";
}

Se o arquivo ou diretório não existir, copie o snippet de código acima para o seu ... pasteboard, abra o Terminal e insira estes dois comandos:

mkdir ~/Library/KeyBindings
pbpaste > ~/Library/KeyBindings/DefaultKeyBinding.dict

Reiniciar o aplicativo pode ser necessário para que ele se comporte como esperado.

    
por 16.04.2014 / 19:59
1

Estou surpreso que ninguém tenha mencionado isso aqui

Shift + CMD + seta para a esquerda (ou seta para a direita se você estiver no começo)

    
por 03.05.2018 / 04:40
1

Uma das vantagens do macOS (WIN / Linux) são os atalhos de estilo globais do emacs em quase todas as caixas de texto (uma exceção é o Microsoft Office para Mac que redefine essas atalhos irritantemente ...)

Com relação a essa questão, sempre uso C-a para alcançar o cabeçalho da linha, C-S-e para selecionar até o final da linha e, em seguida, 'CMD-c' para copiar o.

Se você tiver uma linha (que termina com um \ n) que cruze muitas linhas literais, normalmente faria o seguinte:

1) C-a para ir ao início da linha

2) C-n para ir ao início da próxima linha literal

3) C-b para voltar um caractere

4) C-S-a para selecionar até o início da linha

5) CMD-c para copiar o conteúdo

Pode ser uma solução complexa, mas deve funcionar na maioria das caixas de texto no macOS.

    
por 03.05.2018 / 05:40
0

controle + deslocamento + a e f

(digite aef enquanto mantém Control e Shift)

Isso dá o mesmo resultado de clicar três vezes na linha atual.

Observe que isso inclui a EOL final na seleção. Se não é isso que você quer, deixe de fora o f .

Como bônus, após f , pressione n repetidamente para selecionar várias linhas.

Testado no Xcode e TextEdit.

    
por 06.09.2018 / 06:57