Selecionando uma linha inteira de texto, incluindo a nova linha


1

Um tipo complicado de descrever. Aqui vai embora. Abra seu editor de texto favorito no OSX (bem, Textedit, Coda 2, uma área de texto do Chrome pelo menos). Digite uma linha longa de texto, seguida por uma linha curta. Coloque o cursor no final, assim:

I am a long, long, line of text.
I am short.|

Se eu quiser excluir a linha "Sou curto" e a quebra de linha, no Windows, Shift + Up e Ctrl + Shift + End. (Da mesma forma, Ctrl + Shift + Home selecionaria as duas linhas na íntegra.)

No OSX, posso Shift + Up para selecionar a segunda metade da primeira linha, mas Cmd + Shift + Right não faz nada. Cmd + Shift + Esquerda, no entanto, seleciona as duas linhas como no Windows. Você pode repetir o mesmo comportamento usando Ctrl + a / e para início / fim.

Por que Cmd + Shift + Right não funciona? Posso fazer funcionar? Existe um comando semelhante que funcionaria?

Eu sei que posso fazer Cmd + Shift + Esquerda, Shift + Esquerda e ele consegue a mesma coisa com o mesmo número de empurrões, mas Shift + Up etc está bastante arraigado na minha memória muscular. Eu ainda uso um PC com Windows regularmente também, então prefiro usar o mesmo método geral, e Ctrl + Shift + Home, Shift + Left em um PC é um pouco mais complicado, pois Home e Left não são os mesmos bloco de chaves.


A maioria dos editores (bons) deve oferecer suporte à exclusão de linha, que exclui a linha atual, incluindo a nova linha à direita, que realiza o que você está tentando fazer em uma única operação.
Gerry

Obrigado Gerry e outros. Talvez seja necessário encontrar o comando para excluir a linha / quebra atual no editor de minha escolha e reaprender alguma memória muscular.
SpoonNZ

ESTÁ BEM. Descobri que não faço isso ao excluir! Muitas vezes é se eu quero duplicar a linha atual. Destaco como acima, então Cmd-C, Cmd-V, Cmd-V, Cmd-V. Novamente, os editores provavelmente têm comandos para duplicar a linha atual, mas ter que aprender comandos específicos é irritante - acho que deixamos isso para trás nos dias de Vi;). De qualquer forma, obrigado pela sua ajuda - entenda que é um problema do Mac e avalie que provavelmente não há maneira de contornar isso, com a alteração de editores ou sistemas operacionais.
SpoonNZ

Respostas:


4

E se você quiser selecionar 78 aqui (depois de pressionar ⇧ ↑)?

Ou, se você quiser selecionar 12 e 78, no Windows, não poderá pressionar shift + home e shift + end.

Métodos como não moveToEndOfLineAndModifySelection:são ancorados na maioria dos aplicativos, o que significa que eles sempre estendem as seleções. Na verdade, eles estão ancorados no Xcode, TextMate, Sublime Text e BBEdit, mas não conheço nenhuma maneira de alterar o comportamento padrão.

Se você deseja facilitar a seleção e a exclusão de linhas, é possível criar ~ / Library / KeyBindings / e salvar uma lista de propriedades como esta como DefaultKeyBinding.dict:

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

Após reabrir os aplicativos, ⌥L deve selecionar uma linha. Consulte http://www.hcs.harvard.edu/~jrus/site/cocoa-text.html e http://lri.me/keybindings.html para obter mais informações.


2

CMD SHIFT LEFT, (agora largue CMD), LEFTnovamente , é a única maneira de replicar sensatamente (como você já encontrou) a função necessária.

Infelizmente, você pode apenas aceitar que, para certas coisas, sistemas operacionais diferentes fazem coisas de maneira diferente e, embora você possa ocasionalmente modificar uma para imitar a outra, nem sempre é possível. Por exemplo, aposto que você adora usar @e "ao alternar entre Mac e PC, ou não ter Deleteou HOMEtecla etc, como uma tecla específica em um teclado Mac curto. Temos que aguentar essas coisas.

Minha solução, por acaso, foi comprar um teclado Mac para o meu PC, remapear as teclas para coisas como @etc. Não é exatamente uma solução gratuita, mas a que me fornece a maior uniformidade e consistência de entrada, independentemente de eu estou usando um iMac de mesa, um Macbook ou um PC.

Outra solução alternativa é não selecionar a nova linha para excluir tudo de uma vez, tecnicamente CMD+ SHIFT+ LEFT BACKSPACE BACKSPACEusa menos pressionamentos de teclas que os métodos Mac ou Win e é o mesmo em ambos.


Obrigado. O que me incomoda é que logicamente deveria funcionar, certo? A coisa @ / "não é um problema para mim, você deve estar em um teclado europeu de algum tipo, certo? Excluir / Página Inicial / Final com a qual me acostumei, mas isso simplesmente não consigo: S
SpoonNZ 13/03/2019

Sim, teclado do Reino Unido.
stuffe
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.