CLI Vim ou GUI Vim?
Você não pode mostrar a saída de :!ls
ou :!ls --color
ou qualquer outro comando externo no próprio CLI Vim porque ele é de thread único: o Vim é suspenso e o $ ls --color
é executado em seu shell. Não há como evitar isso. Bem, você pode colocar a saída de comandos externos no buffer atual, mas isso não é a mesma coisa.
No GUI Vim, você pode obter apenas um pseudo-shell que é totalmente incapaz de mostrar qualquer cor. Não há como evitar isso.
Se você precisa desesperadamente de saída colorida de comandos externos, você tem que lançar um emulador de terminal externo com algo como :!xterm &
ou usando um plugin como Conque Shell .