O AFAIK vim (versão do Windows) não publica no terminal para entrar / sair de seqüências de modo alternativo. Não sei como a mintty lida com isso, ainda está investigando.
Estou tentando reunir três coisas: ConEmu , Cygwin e vim. O vim em questão não é o Cygwin vim, mas o Windows nativo vim do pacote gvim (escolhido porque o Cygwin vim não suporta 256 cores do xterm). O realce de sintaxe de 256 cores parece funcionar depois que eu segui as instruções no StackOverflow, mas não consigo resolver outro problema.
Cygwin vim funciona bem com telas alternativas: quando eu saio, o conteúdo da tela é limpo e posso ver meu histórico de comandos de volta. O Windows vim não: quando eu sair, o prompt de comando aparece embaixo da página do conteúdo antigo do vim. Esta pergunta foi feita várias vezes no StackOverflow e no SuperUser: aqui , aqui , aqui e aqui . No entanto, nenhuma das soluções nessas questões parece funcionar no ConEmu / Cygwin. Eu tentei:
definindo t_ti
e t_te
no meu .vimrc
da seguinte forma:
let &t_ti="\e[?47h"
let &t_te="\e[?47l"
ou:
let &t_ti="\e[?1049h"
let &t_te="\e[?1049l"
ativando altscreen on
em .screenrc
. Não tenho certeza se deveria ter algum efeito, já que eu nem tinha screen
instalado no Cygwin. Instalá-lo não mudou nada, no entanto. O lançamento explícito do vim com screen
traz resultados estranhos: metade das seqüências de escape e códigos e quebrados, nem todas as teclas são reconhecidas, e as dimensões do console são ~ 80x40, independentemente dos argumentos screen
.
Meu $TERM
no vim atualmente é xterm
, já que foi definido em .vimrc
config necessário para ativar o suporte a 256 cores no ConEmu. No entanto, enviar seqüências de escape semelhantes a xterm não parece limpar a tela.
Eu ficaria feliz em receber ajuda com esse problema.
Tente definir isso no seu .vimrc
, que também ativa a roda de rolagem no vim.
Isso veio do link , as notas da compilação 150316. Parece que finalmente resolveu esse problema para mim.
""""""""""""""""""""""""""""""""""""""
" let mouse wheel scroll file contents
""""""""""""""""""""""""""""""""""""""
if !has("gui_running")
set term=xterm
set mouse=a
set nocompatible
inoremap <Esc>[62~ <C-X><C-E>
inoremap <Esc>[63~ <C-X><C-Y>
nnoremap <Esc>[62~ <C-E>
nnoremap <Esc>[63~ <C-Y>
endif
Tags vim gnu-screen xterm cygwin conemu