Qual é a maneira mais rápida de recuar um bloco de texto com espaços para uso dentro de um navegador da web?

5

Ocasionalmente, tenho a necessidade de recuar um bloco de texto com espaços para uso em um navegador da Web, por exemplo, ao formatar um bloco de código neste site ou em uma postagem no Launchpad.

Até agora eu acabei de fazer isso manualmente copiando quatro espaços para a área de transferência e, em seguida, mesclando as teclas muito rápido:

, Início , Ctrl + V (repetir)

Qual é a maneira mais rápida de realizar isso?

  • Copiando e colando em outro programa? (Quais?)
  • Uma extensão do navegador Firefox ou Chrome?
  • Um comando para modificar diretamente o conteúdo da área de transferência?
  • Um programa de digitação automática?
por ændrük 28.12.2010 / 22:35

4 respostas

3

Você pode enviar um pequeno script de shell:

$ xsel -b | sed 's/^/    /' | xsel -b

O primeiro xsel -b lê a área de transferência, o sed adiciona quatro espaços (^ corresponde ao início da linha), depois o segundo xsel -b coloca-o de volta na área de transferência. Solte o -b para usar a seleção principal (o buffer do clique do meio do mouse).

Exemplo:

# put two lines in the clipboard, "abc" and "123", for the example
# the \n is a newline, and echo adds another newline to the end
$ echo $'abc\n123' | xsel -b

$ xsel -b | sed 's/^/    /'  # output written to the terminal
    abc
    123
$ xsel -b | sed 's/^/    /' | xsel -b  # again, to the clipboard

Você pode colocar isso em um script de shell, por exemplo chamado "indent4", com o conteúdo:

#!/bin/bash
xsel -b | sed 's/^/    /' | xsel -b

Em seguida, torne-o executável. Você também pode fazer o chmod clicando com o botão direito do mouse no arquivo do Nautilus, indo para propriedades e alterando as permissões.

$ chmod +x indent4

# test it:
$ echo $'abc\n123' | xsel -b  # load clipboard
$ ./indent4                   # assuming it's in the current directory
$ xsel -b                     # show clipboard
    abc
    123

E, em seguida, coloque o arquivo em sua área de trabalho ou armazene-o em qualquer lugar e crie um iniciador para ele. Agora você pode executar o indent4 (por exemplo, clique duas vezes) e a área de transferência será modificada.

xsel é de um pacote chamado, não surpreendentemente, "xsel"; você pode ter que instalá-lo. Veja "man xsel" para detalhes. As strings $ '' - style no exemplo são específicas do bash.

    
por Fred Nurk 29.12.2010 / 06:03
3

Eu uso o plug-in pentadactyl para o Firefox. (Este é um sucessor do plugin do vimperator).

Além de muitos outros ótimos recursos, ele permite que você edite qualquer caixa de texto em uma página da Web com um editor externo. (Você pressiona Ctrl-I ao editar a caixa de texto e um editor é aberto; quando o editor salva o arquivo, ele é automaticamente copiado de volta para a caixa de texto.) Eu uso o gvim como meu editor externo. Em (g) vim, o > A tecla no modo visual (ou seja, quando os caracteres são selecionados ou destacados) recortará todas as linhas selecionadas em um valor definido em seu .vimrc.

Existem maneiras de configurar o pentadactyl para dizer ao gvim que tipo de arquivo está sendo editado (por exemplo, html ou markdown para esta página, ou bbcode para os fóruns do Ubuntu, etc., para que você possa usar plugins específicos do tipo filetype e até obter a sintaxe destacando.)

    
por frabjous 30.12.2010 / 04:28
0

ESTE é um link para um comando enviado para commandlinefu.com. Ele corretamente recorta todo o seu arquivo usando o emacs, então você não precisa pensar sobre o que é um espaço e o que é uma aba.

    
por MarkovCh1 29.12.2010 / 06:07
0

Você pode copiar o teste no Gedit, destacar a coisa toda (CTRL-A), pressionar Tab e depois copiar novamente. É manual, mas é rápido.

    
por Scaine 29.12.2010 / 15:58