Como customizar janelas vim para desenvolvimento python?

2

Eu sou novo no vim e quero usar o vim como um IDE. Eu instalei o python-mode para transformá-lo em um IDE python. Eu quero dividir as janelas do vim em três telas com suas próprias funções.

  1. Janela superior esquerda: editor vim comum
  2. Janela do lado direito superior: intérprete de shell python
  3. Janela inferior: tela bash exibindo saída para comandos executados na janela superior esquerda

Seria possível alcançar tal arranjo? Se sim, como posso fazer isso?

É assim que meu atual arquivo .vimrc

set runtimepath+=~/.vim_runtime

source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_config.vim
source ~/.vim_runtime/vimrcs/extended.vim

try
source ~/.vim_runtime/my_configs.vim
catch
endtry

noremap <F5> <ESC>:w<CR>:silent execute "!python %"<CR><CR>
au VimEnter * vsplit
    
por Eka 22.03.2018 / 05:05

2 respostas

1

Eu faria isso com o tmux:

$ tmux

$vim.CTRL+BSHIFT+"
$ touch python.out
$ tail -fn +1 python.out &

CTRL+B;CTRL+BSHIFT+%$python>python.out>>>1+1

Issoconsideraasassociaçõesdeteclaspadrãoparaotmux.Algumasreferênciasbem:

por 22.03.2018 / 10:55
2

Existem alguns plugins que tentam fazer isso, mas eu nunca encontrei um que funcione para mim. Se você puder, sugiro usar um multiplexador de terminal como tmux (ou tela).

Dessa forma, você pode criar um script (por exemplo, python-tmux ) como este

#!/bin/bash
tmux new-session -d 'vim'
tmux split-window -h 'python3'
tmux split-window -v
tmux attach-session -d

e execute $ python-tmux para iniciar seu ambiente. Você pode adicionar alguns argumentos para abrir arquivos específicos, diretórios, etc.

the last bottom window is a bash screen which should show the output when commands in top left side window is executed

Nunca tentei isso, mas acho que você pode mapear uma chave no vim para executar um comando ou enviar pressionamentos de teclas (por exemplo, python <current file> ) em uma janela do tmux especificada em uma sessão específica.

    
por 22.03.2018 / 10:19