Eu conheço a combinação Ctrl+ Apara pular para o início do comando atual e Ctrl+ Epara pular para o final.
Mas existe alguma maneira de pular palavra por palavra, como Alt+ ←/ →nos aplicativos de cacau faz?
macos
terminal
keyboard-shortcuts
o homem de lata
fonte
fonte
ALT
atalhos foram adicionados ao Terminal na versão mais recente do OS X.Respostas:
Fora da caixa, você pode usar o Esc+ bastante bizarro Fpara ir para o início da próxima palavra e Esc+ Bpara ir para o início da palavra atual.
fonte
Esc
+F
quando no final de uma linha ou a outra combinação de teclas no início da linha, ela apenas inserirá a letra. Irritante!~/.inputrc
.No Mac OS X - os seguintes atalhos de teclado funcionam por padrão. Observe que você precisa fazer com que a tecla Option atue como meta nas preferências do terminal (na guia teclado)
Eu observei que as combinações de teclas padrão do emacs para navegação simples por texto parecem funcionar em shells bash. Você pode usar
fonte
+ESC
, então você pode usar a OPÇÃO f / b para mover a palavra para frente e para trás de acordo. MaisVeja como você pode fazer isso
Por padrão, o Terminal possui estes atalhos para mover (esquerda e direita) palavra por palavra:
Você pode configurar alt+ ←e →gerar essas sequências para você:
⌥ ←
se houver, ou adicione-o, se não estiver.\033b
(você não pode digitar esse texto manualmente).\033f
)Como alternativa, você pode consultar esta postagem do blog em textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
fonte
B
para trás ouF
para a frente para oEsc+
campoalt left
ealt right
para gerar essas sequênciasMude para o iTerm2 . É gratuito e muito melhor do que o terminal antigo comum. Também possui muito mais opções de personalização, como atalhos de teclado.
Também adoro o fato de você poder usar o cmd1-9 para alternar entre as guias. Experimente e você nunca voltará ao terminal normal :)
Como configurar preferências de teclado personalizadas no iterm2
Costumo pressionar o botão errado ( cmd/ control/ alt) com uma tecla de seta e, portanto, tenho minhas combinações de teclas de seta com esses botões configurados para pular para frente e para trás, mas faça o que melhor lhe convier.
fonte
Ctrl + Arrow Left
ouRight
-Up
eDown
funciona: / tentei com e sem o novo conjunto de perfis como padrãoNa verdade, existe uma abordagem muito melhor. Mantenha pressionado option( altem alguns teclados) e pressione as teclas de seta para a esquerda ou direita para mover por palavra. Simples assim.
option←
option→
Também ctrleo levará ao final da linha e ctrlao levará ao início.
fonte
[D
e[C
. Para corrigir isso, adicionebind '"[D": backward-word'
ebind '"[C": forward-word'
ao meu.bashrc
..bashrc
mas não funcionou, algo de errado para mim? (Eu uso RubyMine).bashrc
quando o terminal é inicializado. Experimenteecho "here"
e veja se essa mensagem é exibida quando você abre um novo terminal. Além disso, você deve fechar e reabrir o terminal ou executarsource ~/.bashrc
para que ele leia o novo arquivo.Tenho Alt+ ←/ →trabalhando: abra Preferências »Configurações» Teclado , defina a entrada para o cursor da opção à esquerda para enviar a string para o shell: \ 033b e defina a opção cursor para a direita para enviar a string para o shell: \ 033f . Você também pode usar isso para outras combinações de teclas de controle.
fonte
Enable option as meta key
. A propósito, é muito legal. A chave é a certeza de ser muito mais conveniente para ser alcançado comparar com Esc + B ou Esc + FNa verdade, depende de qual shell você usa, no entanto, a maioria das conchas tem ligações semelhantes. As ligações às quais você está se referindo (por exemplo, Ctrl+ Ae Ctrl+ E) são ligações que você encontrará em muitos outros programas e são usadas há muito tempo; o BTW também funciona na maioria dos aplicativos de interface do usuário.
Aqui está uma olhada nas ligações padrão do Bash:
Atalhos de teclado Bash mais importantes
Observe também que você pode personalizá-los. Você precisa criar um arquivo com o nome que desejar, nomeei meu .bash_key_bindings e coloquei no meu diretório pessoal. Lá, você pode definir algumas opções gerais do bash e também as ligações de teclas. Para garantir que eles sejam aplicados, você precisa modificar um arquivo chamado ".bashrc" que o bash lê durante a inicialização (você deve criá-lo, se ele não existir) e fazer a seguinte chamada:
~ significa o diretório home no bash, como mencionado acima, você pode nomear o arquivo como quiser e também colocá-lo onde quiser, desde que alimente o caminho certo + nome para vincular.
Deixe-me mostrar alguns trechos do meu arquivo .bash_key_bindings:
Eles apenas definem algumas opções (por exemplo, desativar a campainha; isso pode ser consultado na página do bash).
Isso garante que os caracteres sozinhos não façam nada além de garantir que o caractere seja "digitado" (eles se inserem no shell).
Isso é bem interessante. Se eu pressionar Ctrl+ Dsozinho (selecionei d para excluir), nada acontece. Mas se eu digitar uma letra minúscula w, a palavra à esquerda do cursor será excluída. Se eu digitar uma letra maiúscula, no entanto, a palavra à direita do cursor é eliminada. O mesmo vale para L e L em relação a toda a linha, começando pelo cursor. Se eu digitar um "a", toda a linha será realmente excluída (tudo antes e depois do cursor).
Coloquei pulando uma palavra para frente em Ctrl+ Fe uma palavra para trás em Ctrl+B
Como você pode ver, você pode criar um atalho, que leva a uma ação imediatamente, ou você pode criar um, que apenas inicia uma sequência de caracteres e é necessário digitar um (ou mais) caracteres para fazer com que uma ação ocorra como mostrado no exemplo mais acima.
Portanto, se você não estiver satisfeito com as ligações padrão, sinta-se à vontade para personalizá-las conforme desejar. Aqui está um link para o manual do bash para obter mais informações.
fonte
command
código da chave? No seu exemplo,control
é\C
, mas como écommand
?Meta
bash (\M
), cmd + left\M-\e[D
. No entanto, você não pode mapear o cmd + ... para nada, todos os atalhos de comando são manipulados (e, portanto, engolidos) pelo próprio aplicativo Terminal (eles nunca são encaminhados para o shell) e o cmd + deixou os mapas na "janela anterior" se você tiver vários janelas do terminal abertas. Desculpe, mas não é possível com o aplicativo Terminal.Use a predefinição de edição de texto natural !
Essencialmente, ele liga, entre outras seqüências de teclas, Option + LeftArrow à
^[b
sequência e Option + RightArrow a^[f
Isso funciona em fish e bash, assim como no terminal psql.
fonte
Se você for um usuário do Vim, tente o modo vim do bash. Execute isso ou coloque-o no seu
~/.bashrc
arquivo:Por padrão, você está no modo de inserção; pressione escape e você poderá se movimentar da mesma maneira que no Vim de modo normal; portanto, o movimento por palavra é
w
oub
, e as teclas de movimento habituais também funcionam .fonte
Se você marcar
Use option as meta key
a guia teclado das preferências, os comandos padrão do estilo emacs para palavra para frente e para trás e⌥F
( Alt+ F) e⌥B
( Alt+ B) respectivamente.Eu recomendo ler From Bash to Z-Shell . Se você deseja aumentar suas proezas bash / zsh!
fonte
A partir do Mac OS X Lion 10.7, o Terminal mapeia Option- Left/Right Arrowpor Esc- b/fpor padrão, agora ele está embutido no bash e em outros programas que usam essas combinações de teclas compatíveis com o emacs.
fonte
Mantenha pressionada a tecla Opção e clique no local em que deseja mover o cursor
fonte
No Bash, eles estão vinculados a Esc- Be Esc- F. O Bash possui muitos, muitos outros atalhos de teclado; dê uma olhada na saída de
bind -p
para ver o que são.fonte
Sob
iterm2
's Preferências> Perfil> Chaves , você clique no+
abaixo mapeamentos chave e gravar um novo atalho. Para Ação , selecioneSend Escape Sequence
e digiteb
ouf
para trás e para frente, respectivamente.Quando tentei gravar um para ( Ctrl+ ←), notei no campo Atalho do teclado que a seta nunca apareceu. Acontece que eu tive que desativar os atalhos padrão do System Preferences> Keyboard> Shortcuts> Mission Control primeiro para fazer com que as coisas funcionassem, pois eles substituiriam os atalhos padrão do iterm2. Também deve ser verdadeiro para o aplicativo de terminal padrão.
fonte
Nova resposta para usuários do iTerm2 Build 3.3.4:
Etapa 1: Preferências do sistema (macOS X)> Teclado> guia Atalhos> Selecionar Controle de missão (painel esquerdo)> Desmarque os atalhos marcados como "Mover para a esquerda em um espaço" e "Mover para a direita em um espaço"
Etapa 2: (iTerm2 Build 3.3.4) Preferências> Perfis> Selecionar * Padrão (painel esquerdo)> guia Teclas> Exclua as entradas "⌥->" e "⌥ <-"> Defina ambas as teclas "Left Option (⌥)": "e" Tecla de opção direita (⌥): "para Esc +
Sem mexer com perfis de shell, sem mexer com o terminal masOS inferior (padrão), sem Esc + F / B estranho, enxaguar e repetir sem sentido.
Negócio feito!!!
Aproveite esta dica, meus colegas PROGRAMADORES!
fonte
Conforme respondido anteriormente, você pode adicionar
set -o vi
suas combinações~/.bashrc
para usarvi
/vim
teclas, ou pode adicionar a seguinte parte.bashrc
para mover comCtrl
as teclas de seta e de seta:Para iniciar o efeito dessas linhas de código,
source ~/.bashrc
inicie uma nova sessão de terminal.fonte