Não consigo convencer o vim a aplicar o estilo de codificação que eu gostaria ( cindent
e amigos).
No entanto, a integração clang-format.py
(que usa o formato .clang do meu projeto) realmente me deixa totalmente feliz.
Só que eu tenho o reflexo de usar o comando =+ motion . O que é realmente muito bom recuar uma região ou o arquivo inteiro.
Como posso instruir o vim a substituir a funcionalidade padrão? Eu li sobre equalprg, mas não tenho certeza de como configurá-lo para fazê-lo funcionar no formato clang.
indentation
Patrick B.
fonte
fonte
vim-clang-format
plug-in do Rhysd , junto com seus requisitos (especialmentevim-operator-user
), e depois mapear=
para<Plug>(operator-clang-format)
? Link do plug-in: github.com/rhysd/vim-clang-format==
para uma linha egg=G
para todo o buffer?Respostas:
Se você não tem nada contra a instalação de um plug-in, o formato vim-clang do Rhysd pode ser uma solução válida, em vez de personalizada
equalprg
.Como a documentação indica, com a dependência do operador vim-usuário do Kana instalada, você pode mapear
=
para<Plug>(operator-clang-format)
(para funcionar como um operador completo) e usá-lo com movimentos / objetos de texto como==
ou=G
.Você deve criar um mapeamento local do buffer , apenas para os tipos de arquivos C, C ++ e Objective-C, para permitir que o padrão
=
seja intocado:fonte