tcsh atalho para mover o cursor de volta ao espaço anterior

3

Estou procurando um atalho de teclado em tcsh para mover o cursor de volta para o espaço em branco anterior: não ESC + B que me leva de volta uma palavra ( por exemplo, em um argumento de caminho, para o componente de caminho anterior) - Eu quero chegar ao espaço anterior ou início do caminho atual.

    
por haimon 07.05.2013 / 16:41

3 respostas

6

Se você quer dizer atalho de teclado no prompt do bash shells interativos, você pode vincular o shell-backward-word e o shell-forward-word a alguma seqüência de caracteres enviados em alguma tecla ou combinação de pressionamentos de teclas.

Como se pressionar Ctrl-Left envia a sequência \e[1;5D no seu terminal como em xterm , você poderia fazer:

bind '"\e[1;5D": shell-backward-word'
bind '"\e[1;5D": shell-backward-word'

Observe que ele não passa de branco para branco, mas considera aspas de shell. Então, por exemplo, em uma linha como

echo "foo 'bar baz' blah/bleh bloh
^   ^              ^         ^

Iria para os locais marcados acima.

Editar: para tcsh , você pode usar o modo vi (com bindkey -v ) e usar as chaves B e W no modo normal, assim como em vi .

Ou no modo emacs (o padrão, reativado com bindkey -e ) como para bash , vincule os widgets correspondentes ( vi-word-back e vi-word-fwd ):

bindkey '\e[1;5C' vi-word-fwd
bindkey '\e[1;5D' vi-word-back

Observe que esses são como vi ' B e W , então eles são para saltar entre palavras separadas em branco, não tokens shell (como strings entre aspas) como na solução bash acima. / p>     

por 07.05.2013 / 17:35
0

Eu acho que você está querendo CTRL-B , que no bash move o cursor de volta um caractere. CTRL-f , então, o moverá de volta para frente. Aqui está uma referência rápida para esses atalhos.

    
por 07.05.2013 / 16:50
0

"ESC-seta para a esquerda: ir para o início da palavra esquerda" bindkey ^ [^ [[D vi-word-back

por exemplo: cd a / b / c / d ESC + esquerda irá levá-lo do final da linha para o espaço entre "cd" e "a"

    
por 12.05.2013 / 13:11