É possível fazer algo assim:
$ ls | vim | xargs ...
e o vim passa para stdout quaisquer linhas que foram visualmente selecionadas na saída?
Se fosse mais fácil simplesmente despejar a "linha atual", isso também funcionaria.
É claro que estou aberto a passar alguns argumentos da linha de comando para o vim ou um vimrc personalizado para fazê-lo funcionar.
NOTA: Desejo usar isso para permitir que eu selecione qualquer parte do texto, seja uma linha completa ou parte de uma única linha, interativamente na linha de comando usando o VIM.
Encontrei uma solução que funciona com o vim com bastante facilidade, então agora posso fazer coisas como esta
Isso inicia o vim, permite selecionar visualmente o texto que eu quero e passa o texto selecionado para o stdout quando pressiono
F4
. Observe que eu também poderia apenas editar o buffer e modificá-lo para conter apenas o texto que desejo selecionar, salvar e sair, e o conteúdo do buffer seria passado para o stdout. Portanto, todo o poder do vim de "escolher" algo na linha de comando interativamente!Eu posso fazer isso usando o vim adicionando o seguinte ao meu
.vimrc
(snagged from here )e salvando o seguinte em um script (capturado daqui )
choose.sh
fonte