No dia 01/08/2005 às 14:26,
hamacker <[EMAIL PROTECTED]> escreveu:
> Eu tentei, tentei varias combinacoes no /etc/vimrc e ainda não consegui
> descobrir onde fica o pulo do gato.
>
> O problema é que muitas vezes utilizo o bash e quando preciso editar
> algum arquivo, lá vai eu vi /arquivo/a/ser/editado.txt, porém seu eu for
> copiar algo na interface grafica, por exemplo, um trecho que esta no
> mozilla e for colar no 'vi' causa um efeito estranho, fica como se
> houvesse TABs dentro do texto, fazendo algo assim :
> Section "ServerLayout"
>Identifier "XFree86 Configured"
> Screen 0 "Screen0" 0 0
> Screen 1 "Screen1" RightOf "Screen0"
> InputDevice "Keyboard0" "CoreKeyboard"
>InputDevice "PS/2 Mouse" "CorePointer"
>EndSection
>
> quando na realidade deveria ter sido :
> Section "ServerLayout"
>Identifier "XFree86 Configured"
>Screen 0 "Screen0" 0 0
>Screen 1 "Screen1" RightOf "Screen0"
>InputDevice "Keyboard0" "CoreKeyboard"
>InputDevice "PS/2 Mouse" "CorePointer"
> EndSection
>
> Experimento colar em outros editores modo texto como o nano e esse
> problema realmente não acontece, então aparentemente é só com o 'vi' mesmo.
Bom, o problema é que o Vim em modo terminal não pode distinguir entre
um trecho colado ou digitado. Sendo assim, se estiver habilitado o
'autoindent', o Vim tentará indentar o que está sendo colado (para ele
como se estivesse sendo digitado). No gvim já não acontece isso, pois o
X diz ao Vim que aquele trecho está sendo colado, o que faz o Vim entrar
em modo 'paste'.
Sendo assim, no Vim terminal, existem pelo menos duas saídas:
- antes de colar o texto, habilitar o modo 'paste': ':set paste'
- desabilitar a auto-indentação: ':set noautoindent'
É possível ainda configurar o Vim por padrão para 'noautoindent',
bastando colocar no arquivo de configuração. Mas, lembre-se, estará
perdendo o recurso de indentação automática --terá que habilitá-la
manualmente se desejar.
Mais informações: ':help paste'
--
Douglas Augusto
[Netiqueta]
§ Não responder diretamente ao remetente, exceto quando solicitado ou o
assunto não for de interesse dos outros membros.