Os comandos do cygwin vim são diferentes do vim normal?

26

Não consigo editar arquivos de texto usando o vim no cygwin.

Eu tenho que pressionar i muitas vezes para inserir texto. Às vezes funciona e às vezes não. Sempre que eu movo o cursor para baixo, tenho que pressionar muitas vezes.

Qual poderia ser o problema? O backspace funciona no cygwin?

    
por Mirage 20.04.2011 / 18:52

7 respostas

32

O Cygwin vim vem com a configuração padrão do vim, que deixa o vim no modo de compatibilidade vi, onde ele tenta emular o vi original o mais próximo possível. Entre outras limitações, as teclas de seta não funcionam nesse modo e o backspace apenas move o cursor para a esquerda, em vez de apagar um caractere.

Criar um ~/.vimrc vazio é suficiente para desativar o modo de compatibilidade do vi:

touch ~/.vimrc

Tendo dito isso, i para entrar no modo de inserção deve funcionar de qualquer maneira. Você precisará fornecer mais detalhes sobre onde e como você está executando o vim. Além disso, você está realmente executando o vim que vem com o Cygwin, ou a versão nativa do Windows do vim?

Atualizar

Você pode adicionar abaixo conjuntos em ~ / .vimrc para fazer é semelhante ao padrão vim

set nocompatible
set backspace=indent,eol,start
set backup
set history=50
set ruler
set background=dark
set showcmd
set incsearch
syntax on
set hlsearch

Se o vim não pegar o seu arquivo vimrc, ele pode estar procurando por um arquivo .virc . Neste caso , renomeie o arquivo e as alterações serão aplicadas.

    
por 21.04.2011 / 07:41
13

A maneira mais fácil é copiar o arquivo vimrc do Cygwin VIM

cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc

Isso resolverá o problema de todas as contas no seu sistema. Se, por algum motivo, você quiser apenas alterá-lo para um usuário específico, faça

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

Veja a referência aqui

    
por 11.10.2012 / 15:17
3

Eu tive problemas com as teclas de seta enquanto tentava o vim dentro do Windows 8.1 usando o cygwin. O problema era imprimir A / B / C / D durante a navegação com as teclas de seta no modo de inserção. A solução trabalhada para mim é:

cp vimrc_example.vim ~/.vimrc

Basicamente, o comando acima copiou o arquivo vimrc_example.vim para /home/<user name>/.vimrc .

    
por 17.03.2015 / 07:02
2

Tem certeza de que não está usando o vi em vez do vim?

    
por 20.04.2011 / 21:25
1

Tente desta maneira:

  • primeiro:

    cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
    
  • adicione essa linha ao seu arquivo ./.bashrc :

    alias vi="vim"
    
por 15.08.2013 / 10:07
0

Não, os comandos são exatamente os mesmos. Parece que você tem um problema de entrada. Ou o seu teclado está desarrumado ou o seu terminal está fritz ou algo assim.

    
por 20.04.2011 / 21:18
0

Dependendo das características do seu programa de terminal, quando você pressiona uma tecla de cursor, ele envia uma sequência de caracteres, começando com a tecla ESC. Por exemplo, a tecla Seta para cima envia os três caracteres ESC [A. Com o vim no modo de entrada, pressionar uma tecla de cursor pode terminar o modo de entrada quando ESC é visto e os caracteres subseqüentes podem ser interpretados como comandos vim. Como sai do modo de entrada, você precisa pressionar i novamente para continuar inserindo texto. Talvez seja isso que está acontecendo com você.

Verifique se o seu terminal tem opções que podem alterar a emulação, como VT-100, VT-220, ou uma configuração que especifica o que é enviado quando as teclas Backspace ou Del são pressionadas. Alterar essas configurações pode obter o comportamento desejado. Se você estiver usando o console de comando nativo do Windows, provavelmente não obterá essas opções.

Você pode ter que evitar usar as teclas do cursor no modo de entrada. Pressione ESC para sair do modo de entrada, depois mova o cursor e, em seguida, i novamente para mais entrada. É assim que os veteranos antigos precisavam fazer isso antes que o vim fosse esperto o suficiente para interpretar as teclas do cursor no modo de entrada.

    
por 21.04.2011 / 06:00

Tags