Eu usei o pacote moreutils
algumas vezes e acho que ele faz você pensar mais sobre os utilitários básicos e perspicaz (e divertido). Por exemplo, vipe
permite executar um editor - como vim
- no meio de um pipeline e editando os dados antes de continuar a execução 1 . Por exemplo:
function refcheck_vipe() { echo -n "$@ documentation last udate: "; links -dump "http://www.gnu.org/software/$@/manual"| vipe | grep 'last updated' | vipe | cut -d ' ' -f 7,8,9 | vipe ; }
# refcheck_vipe grep
Toda vez que (3) vipe
é arbitrariamente colocado no pipeline e, portanto, chamado, você é apresentado com os dados no vim e, assim que sair, a execução continua. Então, aqui você terá a página da web , a linha combinada e finalmente a seqüência . Talvez o que esteja faltando é que eu mantenha os buffers usados ao longo do caminho para comparar o conteúdo em alguns casos ...
Eu não sabia que você poderia multiplex o layout dos buffers em% código%(!). Agora eu me pergunto se eu fosse lançar o meu comando no vim cli , poderia haver uma maneira de redirecionar todas as "etapas" de execução do vipe para um buffer diferente. E permita que o arquivo vim
continue exibindo o conteúdo de alguma forma depois que eu sair. De fato, você deve fazer tmp
para a execução continuar até o próximo "passo", então não sei como conciliar o que acabei de dizer com isso. Por outro lado, notei que posso fazer :q
, em seguida, :split new
e a saída disso é para isso.
Para resumir e adicionar contexto, estou pensando em algo assim:
command1 | vipe1 | command2 | vipe2 | command n | vipe n
would be wrapped by the answer to produce this in vim(the vipe part):
-------------------------
| | | | A buffer would open to the right side
| vipe | vipe | vipe | for every vipe command in the pipeline.
| step1 | step..| step n|
| | | |
| | | |
-------------------------
| | | Bottom left you see a "file manager".
|find . | \ | whatever | Its contents could be refreshed, from
|vidir - | | time to time.
-------------------------
:cli
Eu sei que :r! ls
não é um gerenciador de janelas ou multiplexador . O objetivo aqui é mostrar o processamento de dados em comandos shell, melhorando minhas habilidades com o vim 2 . O foco é vim
, mas considerando que vim
lê a variável EDITOR, eu também leria com interesse uma solução alavancando vipe
.
Então, há algum alias / function / setup que eu poderia implementar para realizar o que descrevi (permitindo a comparação da saída de uma maneira integrada adicionando buffers visualmente no lado direito do editor, para cada emacs
comando no pipeline)?
1. Se eu juntar alguns comandos com expressões regulares e não funcionar (geralmente o caso), vou voltar atrás, removendo comandos e simplificando expressões no pipeline até que eu possa isolar o problema. Então vipe
pode ajudar em alguns casos.
2. Bem como lidar com o cenário em que tenho de usar um sistema e Openbox ou i3 não está presente !!
[..] Não referenciado, mas fazendo uma aparição no exemplo de código, vipe