Vi et Vim permettent une personnalisation vraiment impressionnante, généralement stockée dans un .vimrc
fichier. Les fonctionnalités typiques pour un programmeur seraient la coloration syntaxique, l'indentation intelligente, etc.
Quelles autres astuces pour la programmation productive avez-vous, cachées dans votre .vimrc?
Je suis principalement intéressé par les refactorisations, les classes automatiques et les macros de productivité similaires, en particulier pour C #.
vim
refactoring
Quelqu'un
la source
la source
Réponses:
Vous l'avez demandé :-)
la source
Ce n'est pas dans mon fichier .vimrc, mais hier j'ai appris la
]p
commande. Cela colle le contenu d'un tampon comme lep
fait, mais il ajuste automatiquement le retrait pour correspondre à la ligne sur laquelle se trouve le curseur! C'est excellent pour déplacer du code.la source
J'utilise ce qui suit pour conserver tous les fichiers temporaires et de sauvegarde au même endroit:
Enregistre les répertoires de travail encombrants partout.
Vous devrez d'abord créer ces répertoires, vim ne les créera pas pour vous.
la source
Quelqu'un (à savoir Frew) qui a posté ci-dessus avait cette ligne:
"CD automatiquement dans le répertoire dans lequel se trouve le fichier:"
Je faisais quelque chose comme ça moi-même jusqu'à ce que je découvre que la même chose pouvait être accomplie avec un paramètre intégré:
Je pense que quelque chose de similaire m'est arrivé à plusieurs reprises. Vim a tellement de paramètres et d'options intégrés différents qu'il est parfois plus rapide et plus facile de le personnaliser que de rechercher dans les documents la manière intégrée de le faire.
la source
autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
qui fait la même chose de base mais ne paralyse pas la ligne de commande.Mon dernier ajout est pour la mise en évidence de la ligne actuelle
la source
set cul
etset cursorline
faites exactement la même chose.Mise à jour 2012 : Je recommande maintenant vraiment de vérifier vim-powerline qui a remplacé mon ancien script statusline, bien qu'il manque actuellement quelques fonctionnalités qui me manquent.
Je dirais que le contenu de la ligne de statut dans mon vimrc était probablement le plus intéressant / utile du lot (extrait des auteurs vimrc ici et article de blog correspondant ici ).
Capture d'écran:
ligne d'état http://img34.imageshack.us/img34/849/statusline.png
Code:
Entre autres choses, il informe sur la ligne d'état des informations de fichier standard habituelles, mais inclut également des choses supplémentaires comme des avertissements pour: coller, mettre en retrait, mettre en retrait, un espace blanc de fin, etc.
De plus et comme indiqué dans la capture d'écran, le combiner avec syntastic permet de mettre en évidence toutes les erreurs de syntaxe (en supposant que la langue de votre choix dispose d'un vérificateur de syntaxe associé.
la source
autocmd BufEnter *.py match OverLength /\%81v.\+/
dans .vimrc pour mettre en évidence les longues lignes, mais votre approche pourrait être moins distrayante. De plus, le résultat de la vérification de la syntaxe dans la barre d'état est une chose vraiment cool!Ma version mini:
La grande version, collectée à différents endroits:
la source
Parfois, les choses les plus simples sont les plus précieuses. Les 2 lignes de mon .vimrc qui sont totalement indispensables:
la source
nore \ ;
place depuis que j'utilise,
comme mon<leader>
Divers paramètres:
Désactivez les sonneries d'erreur ennuyeuses:
Faites bouger le curseur comme prévu avec des lignes enveloppées:
Chercher
ctags
fichier "tags" dans le répertoire, jusqu'à ce qu'il en trouve un:Affichez les fichiers SCons avec la syntaxe Python:
la source
j
/k
déplacer comme prévu avec des lignes enveloppées? Je ne veux pas presser àg
chaque fois.Je ne suis pas le vim'er le plus avancé au monde, mais en voici quelques-uns que j'ai pris
Permet à la saisie semi-automatique de tabulation de déterminer si vous souhaitez y placer un mot ou une tabulation réelle (4 espaces).
Supprimez tous les espaces blancs d'ouverture d'ici à la fin du fichier. Pour une raison quelconque, je trouve cela très utile.
Affichez les numéros de ligne et ne créez pas ces fichiers de sauvegarde ennuyeux. De toute façon, je n'ai jamais rien restauré à partir d'une ancienne sauvegarde.
Pendant l'insertion, appuyez deux fois sur i pour passer en mode commande. Je n'ai jamais rencontré un mot ou une variable avec 2 i d'affilée, et de cette façon, je n'ai pas besoin que mes doigts quittent la ligne d'accueil ou d'appuyer sur plusieurs touches pour basculer entre les deux.
la source
Mon vimrc fortement commenté, avec les raccourcis clavier readline-esque (emacs):
la source
la source
Certaines corrections de fautes de frappe courantes m'ont fait gagner un temps surprenant:
la source
Je ne savais pas combien de mes 3200 lignes .vimrc étaient juste pour mes besoins excentriques et ce serait assez peu intéressant de les énumérer ici. Mais c'est peut-être pour cela que Vim est si utile ...
la source
Mon 242 lignes
.vimrc
n'est pas si intéressant, mais comme personne ne l'a mentionné, j'ai eu l'impression de devoir partager les deux mappages les plus importants qui ont amélioré mon flux de travail en plus des mappages par défaut:Sérieusement, changer de tampon est la chose à faire très souvent. Windows, bien sûr, mais tout ne s'adapte pas si bien à l'écran.
Ensemble similaire de cartes pour une navigation rapide des erreurs (voir quickfix) et des résultats grep:
Simple, sans effort et efficace.
la source
la source
J'utilise cscope depuis vim (en utilisant très bien les multiples tampons). J'utilise control-K pour lancer la plupart des commandes (volées de ctags si je me souviens bien). De plus, j'ai déjà généré le fichier .cscope.out.
si a ("cscope")
fin si
la source
Je garde mon fichier vimrc sur github. Vous pouvez le trouver ici:
http://github.com/developernotes/vim-setup/tree/master
la source
Je suis sous OS X, donc certains d'entre eux peuvent avoir de meilleurs paramètres par défaut sur d'autres plates-formes, mais peu importe:
la source
softtabstop
et utiliser cela à la place detabstop
. Laissertabstop
à sa valeur par défaut de 8 aidera lors de la lecture de fichiers que d'autres ont créés avec des onglets.= est pour reformater les paragraphes normaux. + est pour le reformatage des paragraphes dans les e-mails cités. showmatch sert à faire clignoter la parenthèse / crochet correspondante lorsque je tape une parenthèse ou un crochet fermés.
la source
Utilisez le premier fichier 'tags' disponible dans l'arborescence des répertoires:
La gauche et la droite servent à changer les tampons, sans déplacer le curseur:
Désactivez la mise en évidence de la recherche en appuyant sur une seule touche:
la source
la source
if has("gui_running")
et des cartes sympas. J'ai copié la plupart de votre configuration dans la mienne. MERCI!Mettez ceci dans votre vimrc:
et ne pensez plus jamais à taper un hashrocket. Oui, je sais que vous n'en avez pas besoin dans Ruby 1.9. Mais tant pis.
Mon vimrc complet est ici .
la source
autocmd FileType ruby imap <C-l> <Space>=><Space>
Eh bien, vous devrez récupérer mes configurations vous-même. S'amuser. La plupart du temps, c'est juste la configuration souhaitée, y compris les mappages et les éléments liés à la syntaxe aléatoire, ainsi que la configuration de pliage et une configuration de plugin, un analyseur de compilation de tex, etc.
BTW, quelque chose que j'ai trouvé extrêmement utile est "surligner le mot sous le curseur":
Notez que seuls
cterm
ettermfg
sont utilisés, car je n'utilise pasgvim
. Si vous voulez que cela fonctionne,gvim
remplacez-les pargui
etguifg
, respectivement.la source
J'ai essayé de garder mon .vimrc aussi généralement utile que possible.
Une astuce pratique est un gestionnaire de fichiers .gpg pour les éditer en toute sécurité:
la source
1) J'aime une ligne d'état (avec le nom de fichier, la valeur ascii (décimale), la valeur hexadécimale et les lignes standard, cols et%):
2) J'aime aussi les mappages pour les fenêtres séparées.
la source
Il n'y a pas grand-chose en fait dans mon .vimrc (même s'il contient 850 lignes). Principalement des paramètres et quelques mappages courants et simples que j'étais trop paresseux pour extraire dans des plugins.
Si vous voulez dire "template-files" par "auto-classes", j'utilise un plugin template-expander - sur ce même site, vous trouverez les ftplugins que j'ai définis pour l'édition C & C ++, certains peuvent être adaptés à C # je suppose.
Concernant l'aspect refactoring, il existe une astuce dédiée à ce sujet sur http://vim.wikia.com ; IIRC, l'exemple de code est pour C #. Cela m'a inspiré un plugin de refactoring qui a encore besoin de beaucoup de travail (il a besoin d'être refactoré en fait).
Vous devriez jeter un œil aux archives de la liste de diffusion de vim, spécialement les sujets sur l'utilisation de vim comme un IDE efficace. N'oubliez pas de jeter un œil à: make, tags, ...
HTH,
la source
Mon .vimrc inclut (entre autres choses plus utiles) la ligne suivante:
Je me suis ennuyé en apprenant pour mes finales au lycée.
la source
Voici mon .vimrc. J'utilise Gvim 7.2
la source
Qu'y a-t-il dans mon
.vimrc
?Les vrais fichiers de configuration se trouvent sous
~/.vim/ :)
Et la plupart des éléments parasitent les efforts des autres, adaptés de manière flagrante
vim.org
à mon avantage d'édition.la source