Frequentemente, alterno entre vários arquivos em um servidor. Vou executar os seguintes comandos de exemplo em sequência:
nano /web/site/path/to/file
/web/site/script.py
nano /web/site/path/to/anotherFile
nano /web/site/path/to/yetAnotherFile
/web/site/script.py
nano /web/site/path/to/etc
Para passar de um nano
comando para o outro, atualmente pressione Upe Backspacesubstitua o último segmento do caminho. O problema é que eu sou realmente muito preguiçoso.
Existe um atalho de teclado (ou Bashism) que pode:
- Seja substituído pelo último caminho usado (com um bit extra no final)
- Excluir na linha atual (por exemplo, depois de pressionar Up) de volta ao último
/
alt
+.
?Alt + .
é usado para outra coisa .alt
+.
faz.Respostas:
Acho que você está procurando o atalho Alt+ Backspace.
Depois de pressionar, Upisso deve excluir novamente o caractere
/
ou o anteriorspace
.fonte
backspace
.bind -P | grep '^backward-kill-word'
Para detectar a ligação da linha de leitura que mata uma palavra para trás, como você deseja, você pode usar o seguinte comando no seu terminal:
Em uma instalação padrão do Ubuntu, a saída pode ser:
A segunda linha parece sem importância neste momento, então vamos tentar ver o que significa primeira linha. Pelo que eu entendo, a
backward-kill-word
função readline que de fato apagar todos os caracteres até que o caractere especial anterior (/
,;
,,
etc.) está ligada à\e\C-h
sequência de teclas. Agora, nesta sequência,\e
representa a Escchave\C
- a Ctrlchave e\C-h
representa Ctrl+, hque neste caso é equivalente à Backspacechave.Portanto, você está procurando pelo atalho de teclado Esc+ Ctrl+h que é equivalente a Esc+Backspace e que, devido ao comportamento do xterm que faz com que a Alttecla atue como um caractere meta e os meta caracteres são convertidos em uma sequência de dois caracteres com o próprio caractere precedido por Esc(consulte
man xterm
) , é equivalente a Alt+Backspace .Agora, se você não gostar e continuar esquecendo, poderá usar o seguinte comando para criar um novo atalho, digamos Esc+ w, para sua finalidade:
Para tornar esse novo atalho persistente o tempo todo para todos os comandos que usam readline, adicione a seguinte linha ao seu
~/.inputrc
arquivo:Veja
help -m bind | sensible-pager
para mais informações.fonte
bind '"\ew": backward-kill-word'
, mas isso é nitpicking. E pode valer a pena mencionar que você também pode colocar"\ew": backward-kill-word
em~/.inputrc
, caso outros comandos que que o uso readline também terá que a ligação, por exemplo, se você ativar readline no python shell interativo, que a ligação também se aplica lá.Outra combinação de teclas é:
Alt+ Bentão Ctrl+K
Alt+ Bentão Alt+D
Isso remove a última palavra sem excluir caracteres especiais entre as palavras.
fonte