Vim colando 4 espaços, pressionando '=', recua para ^ I em vez de espaços

0

Eu sou um desenvolvedor de python e trabalho para uma empresa onde a convenção do Python para recuo é dois espaços em vez de quatro.

Então, percebi esse problema quando colei o código do vim:

Este é o texto que estou tentando colar:

def four_spaces():
    print "hello"

Este texto é copiado no mac do Chrome usando <cmd> c . Observe que estou usando vim no iTerm no Mac OS X.

Abaixo estão os passos para eu colar isso no vim usando como eu estou usando um mac:

  1. :set paste Ativar o modo Colar
  2. a Anexar modo
  3. <Cmd> v Colando no Mac
  4. Resultado mostrado em Snippet 4 . Note que são 4 espaços
  5. v kk * Modo visual para selecionar o acima
  6. = Corrigir recuo
  7. Resultado mostrado em Snippet 7 . Observe o ^ I

Snippet 4 (listmode on)

def four_spaces():$
    print "hello"$

Snippet 7 (listmode on)

def four_spaces():$
^Iprint "hello"$

Este é o meu arquivo .vimrc para os interessados: link

Problema:

O problema que estou enfrentando agora é que eu tenho um caractere de tabulação em vez de dois espaços quando uso = . Isso é problemático porque o python depende do recuo da guia e não permite que os caracteres de tabulação e os espaços coexistam juntos. Eu estou tentando descobrir como come = não usa o expandtab.

Pergunta: Como posso colar usando <Cmd> v e tal que:

  1. O vim formata meu código adequadamente em dois espaços
  2. OR quando eu uso = para corrigir o recuo, ele não irá substituí-lo por ^I ?
por Sparrowcide 16.09.2016 / 06:55

0 respostas

Tags