Acabei de mencionar um atalho para e seu uso deve ser óbvio, mas não é óbvio para mim. Como posso dizer que "marquei" algo? Por que eu marcaria algo? Essa coisa tem um escopo? Alguma vez expira? E recebo um aviso bash quando/onde aconteceu? E acima de tudo, legal, eu "marquei". E agora?
Então, o que exatamente é essa marca que posso definir e para que eu a usaria?
Estritamente falando,
set-mark
não é um comando bash, é um comando readline. É usado para definir uma "marca" em um local específico na linha de comando que você está editando no momento.Essa marca pode então ser usada em outras operações de edição de readline.
A documentação completa para readline pode não ser instalada por padrão. Dependendo da sua distribuição, pode estar em um pacote separado, com um nome como
readline-doc
, no formato de arquivo GNU Info (requer, por exemplo,info
oupinfo
para visualizar). Também está disponível na web em https://tiswww.case.edu/php/chet/readline/rltop.htmlTambém está documentado na página de manual bash e nas páginas de manual de vários outros programas GNU que usam readline. Corra
man bash
e procure por^READLINE
.De
man bash
:Observe que os comandos readline são para uso interativo (ou seja, durante a edição de uma linha de comando) e uso programático (por exemplo, em seu
~/.inputrc
). É por isso que alguns dos comandos têm opções/argumentos.BTW, não há muitos comandos readline que fazem uso de marcas ou regiões (o ponto é usado com frequência, por muitos comandos readline). Eles são:
Dois com atalhos de teclado padrão:
Assim, você pode marcar a posição atual do cursor com
Ctrl-@
ouMeta-<space>
e trocar a marca pela posição atual do cursor digitandoCtrl-x
duas vezes. ou seja, útil para saltar para frente e para trás entre duas posições na linha.e dois sem combinações de teclas padrão:
Para usar qualquer um deles durante a edição interativa na linha de comando, você teria que vinculá-los a uma chave.