Para esclarecer: não estou perguntando como alterar o cursor ao usar o vim dentro de um terminal . Quero que o cursor mude ao alternar entre os modos de entrada e comando no modo vi do Bash:
set -o vi <CR> type some text <ESC> (the cursor changes shape/color)
i (cursor change back) etc...
Encontrei um script que possibilita a alteração da cor do cursor no modo zsh , mas não quero alterar shells apenas para esse recurso.
Existe uma maneira de fazer com que o cursor mude de forma, como no gvim, (ou mesmo apenas em cores) ao alternar entre os modos de comando e inserção na linha de comando do Bash?
bash
vi
line-editor
joecan
fonte
fonte
Respostas:
adicione estas duas linhas ao ~ / .inputrc :
fonte
set show-mode-in-prompt on
em~/.inputrc
também para fazer este trabalho.Copiado daqui - estilo de vim de edição de linha de comando
Deve estar disponível em
bash
4.3 - veja o changelog -bash
4.3 está atualmente norc
estágio, você deve conseguir pacotes para a maioria das distribuições sem compilar a partir do código-fonte, embora não nos repositórios principais. Por exemplo. Ubuntu (amd64) aqui e Debian (repositório experimental) aqui .fonte
Não encontrei uma solução real, mas talvez isso possa ajudar você (ou outra pessoa) a encontrar uma melhor.
Você precisa criar um script (por exemplo, kmtest.sh)
e depois adicioná-lo ao seu PS1, algo como:
mas como eu disse, não é o que você quer, porque ele muda a cor do cursor somente depois de um cr. Boa sorte
gb
fonte
Parece que pode haver uma maneira de fazê-lo através da linha de leitura de hackers. Talvez pudéssemos pressionar para que ele se integrasse?
Aqui está minha resposta no SO https://stackoverflow.com/a/12201092/255961, que atualizarei se receber mais informações.
fonte
Embora não seja exatamente o que você deseja (alterando dinamicamente o cursor), o bash 4.4 / readline 7.0 adicionará suporte para alterar dinamicamente o prompt . Você poderá especificar indicadores de modo personalizado para os modos de inserção / comando (isso é diferente da
show-mode-in-prompt
opção atual codificada permanentemente para uso+
e:
).Infelizmente, essas versões estão atualmente na versão beta e não parecem ter todos os bugs resolvidos ainda. Também falta a capacidade de especificar onde, no prompt, você deseja que o indicador de modo ocorra.
Enquanto isso, publiquei versões corrigidas do bash 4.3 / readline 6.3 no github com essa funcionalidade.
fonte
Eu fiz a mesma pergunta há algum tempo no AskUbuntu quando estava passando do Gvim para o Console Vim.
Recebi uma resposta, mas envolvia alternar as configurações do terminal gnome, e essas configurações eram aplicadas nos terminais. Assim, era possível que o cursor do terminal do gnomo estivesse preso no estado errado às vezes.
Ainda estou interessado em saber se você obtém uma solução satisfatória, mas com o tempo me ajustei à falta de informações sobre o estado do modo no cursor. Talvez eu apenas pressione escape com mais frequência (por exemplo,
esc
para garantir que estou no modo de comando;esc i
para garantir que estou no modo de inserção); talvez eu veja o estado exibido na parte inferior da tela; talvez eu tenha acabado de internalizar o modo.fonte