Entrada de teclado semelhante ao Vim em todos os campos de texto em todos os programas

9

Portanto, sou viciado em vim e frequentemente adiciono muito lixo aos campos de texto regulares quando tento usar os comandos do vim e não estou no vim. Eu pensei comigo mesmo, por que o vim não pode estar em TODO LUGAR ?!

Então isso me impressionou. Por que não? Alguém já escreveu um programa que poderia redirecionar os campos de texto de entrada / atual para um buffer vim, para que se pudesse usar a edição no estilo vim em outras coisas além de terminais e gVim? Redirecionar entrada do teclado? Alterar um registrador de chaves?

Alguma idéia de como isso poderia ser feito? $ wdw thoughtsA eu fiz isso de novo. Eu preciso de ajuda séria. Idéias, alguém?

UPDATE: Mais necessitado. Acabei de receber um e-mail com este como final:

Os bibliotecários do campus terão prazer em trabalhar com professores e alunos para identificar fontes alternativas de alta qualidade de relatórios e análises de notícias científicas.

--Karen
: assinatura r

É bom saber que existem outros.

physicsmichael
fonte
Você precisa de :s/\$wdw /^wce/. ^ [: Wq
intuited
@ inglês intuído?
Jason Basanese
Hmm, parece que eu estava corrigindo o texto destacado de @physicsmichael, destinado a corrigir o erro de digitação na palavra "thoughts [sic]". Para mais explicações, inicie vime faça :help :s.
intuited

Respostas:

2

Eu uso viedição de estilobash e vimperator para navegação na web com o Firefox (infelizmente não tem :vsplit). No firefox, o fantástico It's All Text! O plug-in configurado para usar gvimtorna as caixas de entrada (como esta) menos ruins. muttpega meu $EDITORsem problemas (diga a Karen para definir essa variável também).

Acho que é tudo o que faço fora vim.

Benjamin Bannier
fonte
Vou verificar regularmente se há extensões do Chrome no vimperator. Se eu usasse o Firefox, isso seria incrível. É um ótimo começo; Muito obrigado!
physicsmichael
Segui alguns fóruns do vimperator até o vrome for chrome. Eu não consegui fazer isso funcionar, mas para o bem dos outros, há uma opção.
Physicsmichael
Você também pode tentar uzbluma sensação semelhante, mas é preciso muito trabalho para obter os recursos aos quais você está acostumado nos navegadores "normais".
22810 Benjamin Bannier
1

Não vi nada para permitir isso, mas parece que isso poderia ser tratado com a criação de um módulo para conectar-se a uma mensagem instantânea, como SCIM ou IBus .

Ignacio Vazquez-Abrams
fonte
1

Isso não é exatamente o que você está procurando, mas também experimentei o desejo de combinações de teclas do vim em todos os lugares. Uma solução que usei é o Touch Cursor , que mapeei para que minhas teclas de linha inicial me permitam navegar no cursor. O arranjo padrão não é semelhante ao vim, mas você pode facilmente mudar isso. Pode levar algum tempo para me acostumar a segurar a barra de espaço para conseguir acordes, mas achei bastante natural.

Estes são alguns outros programas que oferecem soluções específicas de aplicativos: Eu uso o Viemu , que fornece uma camada de emulação de vim no Visual Studio 2005/2008, Outlook e Word.

Há também uma nova extensão do Chrome que adiciona atalhos de teclado semelhantes ao vim para navegação, também chamado Vimium .

bentsai
fonte
0

Ainda não encontrei uma maneira, mas, usando um xclipscript, você pode pelo menos acelerar o ciclo de copiar-colar-editar-colar. Ele cola em um arquivo temporário e o edita com o Vim:

#!/bin/bash

# Dependencies: xclip, gvim

# Create an "ephemeral" file, that disappears with this process
tmpfile=$(mktemp /tmp/vim-edit-clipboard.XXXXXX)
exec 3>"$tmpfile"
rm $tmpfile

# It's unlinked, but can be referred to by other processes using /proc
ephemeral_path=/proc/$$/fd/3

# Paste to the file
xclip -selection clipboard -o > $ephemeral_path
# Edit it. Make Vim respect the presence or lack of EOL at EOF
gvim --nofork -c 'set nofixeol' $ephemeral_path
# Then copy it to the clipboard, removing the newline at the end
xclip -selection clipboard < $ephemeral_path

Você provavelmente vai querer atribuir um atalho de teclado para este script, para que possa fazer algo parecido CtrlA, CtrlC,SuperC

Leif Arne Storset
fonte