Criação de teclas de atalho VIM

0

Sou bem novo no VIM e no Linux em geral. Então, fazer isso sozinho está muito além do meu nível de habilidade agora. Eu estou familiarizado com o arquivo vimrc, mas é isso ...

Digamos que eu tenha um terminal aberto em marcha lenta. Em seguida, abro outro terminal e edito um arquivo python (.py) com o vim. Como posso criar uma tecla de atalho permanente (como f1, por exemplo), que funcionará em todos os modos VIM, que salvará o arquivo python e o executará na outra janela do terminal?

    
por appleLover 31.08.2013 / 04:03

2 respostas

1

Executar um comando em outro terminal existente pode ser feito, mas está longe de ser trivial.

Primeiro, você tem mais de um emulador de terminal aberto. Esses emuladores de terminal estão executando um shell, provavelmente bash se você estiver no Linux. Com o comando ps , você pode encontrar os IDs do processo (PID) de todos os shells em execução na sua máquina. A grande questão agora é; qual deles enviar o comando para?

Você está procurando por um shell que pertence ao terminal no qual deseja mostrar o comando. Executar o comando echo $$ no terminal em questão deve retornar o PID do shell em execução nesse terminal. Usando o sistema de arquivos /proc , você pode determinar a entrada padrão do shell /proc/<PID>/fd/0 , que é um dispositivo pty .

Em seguida, você deseja enviar um comando para esse terminal. Isso tem que ser feito usando o comando TIOCSTI ioctl na pasta do shell. Você pode encontrar o código-fonte C para fazer isso aqui . Compile esse programa como, e. ttyecho e coloque-o em um diretório em seu $ PATH.

Agora as peças estão no lugar, e você pode chamar o comando ttyecho com o nome da pasta do shell e o comando python <filename> .

Fazer tudo isso em vimscript é deixado como um exercício para o leitor. : -)

    
por 01.09.2013 / 20:31
-1

Você pode tentar algo assim (mesmo terminal):

map <F2>:w<CR>!C:\Python27\python.exe %<CR><CR>
    
por 31.08.2013 / 07:35