O que: p [rint] faz no vim?

2

O texto da ajuda é um pouco vago quanto ao que esse comando alcança.

                    Print [range] lines (default current line).
                    Note: If you are looking for a way to print your text
                    on paper see |:hardcopy|.  In the GUI you can use the
                    File.Print menu entry.
                    See |ex-flags| for [flags].

Eu sei que usei por engano para dizer: p [rev] várias vezes no passado, mas eu nunca ouvi o zumbido de uma impressora. Nem arquivos estranhos apareceram, nem encontrei a linha em que estou aparecendo no stdout.

Então o que, então, digitar : print faz no vim?

    
por James Greenhalgh 09.09.2011 / 17:44

2 respostas

4

Historicamente, no editor 'ed' (do qual muitos dos principais :commands se originam), a linha iria ir para stdout.

Naturalmente, como o vim é um editor de tela cheia, a saída de comandos não é processada apenas para stdout, mas é exibida na parte inferior da janela. (uma linha vai na barra de comando, mais de uma linha [tecnicamente mais que 'cmdheight' ] obtém "Pressione ENTER ou digite comando para continuar", mais do que couberá na tela obtém um prompt -- More -- .)

Quando você simplesmente digitar :p , verá (você pode não ter notado) que a linha em que você está aparece na barra de comando.

Este comando não é particularmente útil por si só (era um pouco mais útil quando editado, quando a linha que você está editando não seria exibida na tela), mas se torna mais útil em conjunto com outros modos de endereçamento. Por exemplo, :g/re/p (onde re é qualquer expressão regular) foi frequentemente reivindicada como sendo a origem do nome do comando grep .

    
por 09.09.2011 / 18:11
1

Imprime a linha atual ou o intervalo de linhas. O comando :%p imprimirá o arquivo inteiro (por exemplo). "Imprimir" não significa "imprimir na impressora" (que o manual que você cita também aponta), mas provavelmente tem mais a ver com o comando p correspondente, por exemplo, sed e ed .

    
por 09.09.2011 / 17:57

Tags