Vim dividir argumentos, desfazer "J"

1

Eu acho muito mais fácil argumentos de uma função, elementos de uma lista etc quando eles são divididos em linhas diferentes. Se isso for mais difícil de ler, posso me juntar a eles mais tarde com "J". Como se deve dividir tudo entre parênteses? Parece ser algum tipo de padrão de pesquisa de local de regex, mas não consegui encontrar uma maneira de fazê-lo funcionar, independentemente dos argumentos e do nível de recuo:

Exemplos:

Example 1:
parser.add_argument('--viz', action='store_true', help='to show vizualisation or not')

Desired output:
parser.add_argument('--viz',
        action='store_true',
        help='to show vizualisation or not')


Example 2:
Input:
parser.add_argument('--viz', action='store_true', lambda: print("sometext here"))

Desired output:
parser.add_argument('--viz',
        action='store_true',
        lambda: print("sometext here"))


Example 3:
Input:
def func(*args, **kwargs):
    temp = ['asd', 123, true]

Desired output:
def func(*args,
         **kwargs):

    temp = ['asd',
             123,
             true]

    
por Joonatan Samuel 05.12.2017 / 13:39

1 resposta

1

Se este é o código python, como parece para mim, o meu plugin splitjoin parece fazer a coisa certa para todos desses exemplos, com algumas diferenças de recuo (que vêm do script de indentação integrado de qualquer maneira).

Isso não é tanto uma resposta em termos de "é assim que você faz", porque é um problema complicado, quando você precisa contar parênteses, ignorar strings e assim por diante. É por isso que eu escrevi um plugin inteiro para essas coisas, que lida com cada situação com uma função de callback diferente. Só posso sugerir que você experimente e veja se ele se encaixa bem com seus casos de uso.

    
por 06.12.2017 / 09:31

Tags