O Vi e o Vim permitem uma personalização realmente impressionante, normalmente armazenada dentro de um .vimrc
arquivo. Recursos típicos para um programador seriam realce de sintaxe, recuo inteligente e assim por diante.
Que outros truques para programação produtiva você tem, ocultos no seu .vimrc?
Estou interessado principalmente em refatorações, classes de automóveis e macros de produtividade semelhantes, especialmente para C #.
vim
refactoring
alguém
fonte
fonte
Respostas:
Você pediu por isso :-)
fonte
Isso não está no meu arquivo .vimrc, mas ontem eu aprendi sobre o
]p
comando. Isso cola o conteúdo de um buffer da mesma forma quep
faz, mas ajusta automaticamente o recuo para corresponder à linha em que o cursor está! Isso é excelente para mover o código.fonte
Eu uso o seguinte para manter todos os arquivos temporários e de backup em um só lugar:
Economiza diretórios de trabalho desorganizados em todo o lugar.
Você precisará criar esses diretórios primeiro, o vim não os criará para você.
fonte
Alguém (viz. Frew) que postou acima tinha esta linha:
"CD automaticamente no diretório em que o arquivo está:"
Eu estava fazendo algo parecido até descobrir que a mesma coisa poderia ser realizada com um cenário incorporado:
Eu acho que algo semelhante aconteceu comigo algumas vezes diferentes. O Vim tem tantas configurações e opções internas diferentes que, às vezes, é mais rápido e mais fácil de fazer você mesmo do que pesquisar nos documentos pela maneira integrada de fazê-lo.
fonte
autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
que faz a mesma coisa básica, mas não prejudica a linha de comando.Minha mais recente adição é para destacar a linha atual
fonte
set cul
eset cursorline
faça exatamente a mesma coisa.Atualização 2012 : agora eu realmente recomendo verificar o vim-powerline que substituiu meu antigo script de linha de status, embora atualmente não haja alguns recursos que eu sinto falta.
Eu diria que o material da linha de status no meu vimrc foi provavelmente o mais interessante / útil do momento (extraído dos autores vimrc aqui e da postagem do blog correspondente aqui ).
Captura de tela:
linha de status http://img34.imageshack.us/img34/849/statusline.png
Código:
Entre outras coisas, ele informa sobre a linha de status das informações de arquivo padrão usuais, mas também inclui itens adicionais, como avisos para: colar conjunto, recuo misto, espaço em branco à esquerda etc.
Além disso, e como mostrado na captura de tela, combiná-lo com o sintático permite destacar quaisquer erros de sintaxe (assumindo que o seu idioma de escolha tenha um verificador de sintaxe associado incluído.
fonte
autocmd BufEnter *.py match OverLength /\%81v.\+/
.vimrc para destacar linhas longas, mas sua abordagem pode ser menos perturbadora. Além disso, o resultado da verificação de sintaxe na barra de status é uma coisa muito legal!Minha mini versão:
A versão grande, coletada em vários lugares:
fonte
Às vezes, as coisas mais simples são as mais valiosas. As 2 linhas no meu .vimrc que são totalmente indispensáveis:
fonte
nore \ ;
vez disso, eu fiz desde que eu uso,
como meu<leader>
Misc. configurações:
Desative sinos de erro irritantes:
Faça o cursor se mover conforme o esperado com linhas quebradas:
A pesquisa
ctags
"tags" arquiva o diretório, até que um seja encontrado:Exibir arquivos SCons com sintaxe Python:
fonte
j
/k
mover como esperado com linhas quebradas? Eu não quero pressionar og
tempo todo.Eu não sou o vim'er mais avançado do mundo, mas aqui estão alguns que eu peguei
Faz com que o preenchimento automático de tabulação decida se você deseja colocar uma palavra ali ou uma tab real (4 espaços).
Remova todo o espaço em branco de abertura daqui até o final do arquivo. Por alguma razão, acho isso muito útil.
Mostre os números das linhas e não crie esses arquivos de backup irritantes. Eu nunca restaurei nada de um backup antigo de qualquer maneira.
Enquanto estiver inserindo, pressione i duas vezes para acessar o modo de comando. Eu nunca me deparei com uma palavra ou variável com 2 i em uma linha e, dessa forma, não preciso que meus dedos saiam da linha inicial ou pressione várias teclas para alternar entre elas.
fonte
Meu vimrc fortemente comentado, com combinações de teclas readline-esque (emacs):
fonte
fonte
Algumas correções para erros de digitação comuns me pouparam uma quantidade surpreendente de tempo:
fonte
Eu não sabia quantas das minhas 3200 linhas .vimrc eram apenas para minhas necessidades peculiares e seria muito pouco inspirador listar aqui. Mas talvez seja por isso que o Vim seja tão útil ...
fonte
Minha linha de 242
.vimrc
não é tão interessante, mas como ninguém mencionou isso, senti que precisava compartilhar os dois mapeamentos mais importantes que aprimoraram meu fluxo de trabalho, além dos mapeamentos padrão:Sério, alternar buffers é o que deve ser feito com muita frequência. Windows, claro, mas tudo não se encaixa tão bem na tela.
Conjunto semelhante de mapas para navegação rápida de erros (consulte quickfix) e resultados grep:
Simples, sem esforço e eficiente.
fonte
fonte
Eu uso o cscope de dentro do vim (fazendo ótimo uso dos vários buffers). Uso control-K para iniciar a maioria dos comandos (roubados de ctags, pelo que me lembro). Além disso, eu já gerei o arquivo .cscope.out.
se tiver ("cscope")
fim se
fonte
Eu mantenho meu arquivo vimrc no github. Você pode encontrá-lo aqui:
http://github.com/developernotes/vim-setup/tree/master
fonte
Como estou no OS X, alguns deles podem ter padrões melhores em outras plataformas, mas independentemente:
fonte
softtabstop
e usar isso em vez detabstop
. Sairtabstop
no valor padrão 8 ajudará na leitura de arquivos criados por outras pessoas com guias.= é para reformatar parágrafos normais. + é para reformatar parágrafos em emails citados. showmatch é para piscar o parêntese / colchete correspondente quando digito um parêntese ou colchete próximo.
fonte
Use o primeiro arquivo 'tags' disponível na árvore de diretórios:
Esquerda e direita são para alternar buffers, não movendo o cursor:
Desative o destaque da pesquisa com um único pressionamento de tecla:
fonte
fonte
if has("gui_running")
, e mapas interessantes. Copiei a maior parte da sua configuração na minha. OBRIGADO!Coloque isso no seu vimrc:
e nunca pense em digitar um hashrocket novamente. Sim, eu sei que você não precisa no Ruby 1.9. Mas não importa.
Meu vimrc completo está aqui .
fonte
autocmd FileType ruby imap <C-l> <Space>=><Space>
Bem, você terá que vasculhar minhas configurações . Diverta-se. Principalmente, é apenas a minha configuração desejada, incluindo mapeamentos e material relevante para a sintaxe aleatória, além de instalação dobrável e alguma configuração de plug-in, um analisador de compilação tex, etc.
BTW, algo que achei extremamente útil é "destacar palavra sob o cursor":
Observe que apenas
cterm
etermfg
são usados, porque eu não usogvim
. Se você deseja que isso funcione,gvim
basta substituí-los porgui
eguifg
, respectivamente.fonte
Tentei manter o meu .vimrc o mais útil possível.
Um truque útil é o manipulador de arquivos .gpg para editá-los com segurança:
fonte
1) Gosto de uma linha de status (com o nome do arquivo, o valor ASCII (decimal), o valor hexadecimal e as linhas padrão, colunas e%):
2) Também gosto de mapeamentos para janelas divididas.
fonte
Na verdade, não há muito no meu .vimrc (mesmo que tenha 850 linhas). Principalmente configurações e alguns mapeamentos comuns e simples que eu estava com preguiça de extrair em plugins.
Se você quer dizer "arquivos de modelo" por "auto-classes", estou usando um plug-in de expansão de modelos - nesse mesmo site, você encontrará os plug-ins que defini para edição em C & C ++, alguns podem ser adaptados a C # eu acho.
Em relação ao aspecto da refatoração, há uma dica dedicada a esse assunto em http://vim.wikia.com ; IIRC, o código de exemplo é para C #. Ele me inspirou um plugin de refatoração que ainda precisa de muito trabalho (na verdade, precisa ser refatorado).
Você deve dar uma olhada nos arquivos da lista de discussão do vim, especialmente os assuntos sobre o uso do vim como um IDE eficaz. Não se esqueça de dar uma olhada em: marca, tags, ...
HTH,
fonte
Meu .vimrc inclui (entre outras coisas mais úteis) a seguinte linha:
Fiquei entediado enquanto aprendia para as minhas finais do ensino médio.
fonte
Aqui está o meu .vimrc. Eu uso o Gvim 7.2
fonte
O que tem na minha
.vimrc
?Os arquivos de configuração reais estão em
~/.vim/ :)
E a maioria das coisas que existem são parasitas dos esforços de outras pessoas, descaradamente adaptadas
vim.org
à minha vantagem de edição.fonte