Muitas vezes estarei alternando entre vários arquivos em um servidor. Executarei 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 ir de um nano
comando para o próximo, pressiono atualmente Upe Backspacepara substituir o último segmento do caminho. O problema com isso é que estou realmente,realmentepreguiç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, após pressionar Up) de volta ao último
/
Responder1
Acho que você está procurando o atalho Alt+ Backspace.
Depois de pressionar Upisto deve apagar de volta ao caractere /
ou anterior space
.
Responder2
Para detectar a ligação readline que elimina uma palavra de trás para frente como desejar, você pode usar o seguinte comando em seu terminal:
bind -p | awk '/kill/ && /word/ && /backward/'
Em uma instalação padrão do Ubuntu, a saída poderia ser:
"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)
A segunda linha parece sem importância neste momento, então vamos tentar ver o que significa a primeira linha. Pelo que entendi, obackward-kill-word
função readline que de fato exclui todos os caracteres até que o caractere especial anterior ( /
,, ;
etc. ,
) seja vinculado à \e\C-h
sequência de teclas. Agora, nesta sequência\e
representaa Escchave, \C
- a Ctrlchave, e \C-h
significa Ctrl+ hqueé equivalente neste casocom Backspacechave.
Então, você está procurandoEsc+ Ctrl+hatalho de teclado que é equivalente aEsc+Backspacee qual,por causa do comportamento do xterm que faz com que Alta chave atue como um meta-caractere 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 aAlt+Backspace.
Agora, se você não gosta e continua esquecendo, você pode usar o seguinte comando para criar um novo atalho, digamos Esc+ w, para o seu propósito:
bind '"\ew": backward-kill-word'
Para tornar este novo atalho persistente o tempo todo para todos os comandos que usam readline, adicione a seguinte linha ao seu ~/.inputrc
arquivo:
"\ew": backward-kill-word
Veja help -m bind | sensible-pager
para mais informações.
Responder3
Outra combinação de teclas é:
Alt+ Bentão Ctrl+K
Alt + B Move cursor backward one word on the current line
Ctrl + K Clear the line after the cursor
Alt+ Bentão Alt+D
Isso remove a última palavra sem excluir caracteres especiais entre as palavras.