haelle.vimrc

vimrc Ansible

Un rôle Ansible pour installer NeoVim avec quelques plugins.

Cela nécessite les tâches de la communauté Ansible :

ansible-galaxy collection install community.general

Dépendances

  • ⚠ Attention, cela installe NodeJS et npm depuis le gestionnaire de paquets. ⚠
  • Installer Fzf et Ag pour la recherche.

Objectifs

Prise en charge complète et fluide pour ces langages/syntaxes :

  • Ruby/RoR
  • HTML
  • Javascript
  • VueJS
  • React
  • Ansible
  • JSON
  • YAML
  • Markdown
  • C#

L'objectif est d'avoir 0 comportements buggés.

Thème & Police

Le thème actuel est slate (desert et industry sont aussi bons) ; changez-le avec :colorscheme xxx, disponible avec Tab.

La police actuelle est MesloLGS NF Regular (supporte les émojis) configurée pour Zsh.

Plugins

Installer les plugins : :PlugInstall (déjà installés par Ansible).

Aide : utilisez :help keycodes pour afficher les noms des codes de touche vim.

Possibilité de naviguer avec des éclats, des onglets et Tmux :

  • <C-w f> : ouvrir en éclat
  • <C-w gf> : ouvrir en onglet
  • <C-⬅,⬆,⬇,➡> : navigation dans les panneaux
  • <C-w-⬅,⬆,⬇,➡> : déplacer le panneau
  • gt : passer entre les onglets vim
  • <C-b> : déclencher navigation Tmux.

Fonctionnalités actives

  • gd : aller à la définition
  • gi : aller à l'implémentation
  • gr : naviguer à travers les références
  • gf : aller au fichier (uniquement pour Ruby/Rails)
  • gg=G : reformater le code
  • F2 : renommer var / méthode / classe
  • <C-k> : afficher la définition de la méthode
  • qf : exécuter le correcteur de linter - ne fonctionne pas bien...
  • fr : exécuter le formatteur sur la ligne actuelle (ne fonctionne pas sur Solargraph/Ruby)
  • fa : exécuter le formatteur sur tout le fichier
  • <C-o> : retour
  • <C-s> : sauvegarder
  • <C-space> : déclencher le moteur d'autocomplétion
  • <tab> : naviguer à travers les propositions d'achèvement
  • <C-c> : commenter / décommenter (ligne ou sélection)
  • bufdo! : utiliser ! pour ne pas sauvegarder les fichiers (avec cette configuration c'est obligatoire...)

Concernant Ruby et Rails :

  • <C-q> : passer entre le Ruby spec et le fichier
  • <C-w>t/s/l/a exécuter test/spec (fichier, le plus proche, dernier, tout)

Autres :

  • suspendre vim avec Ctrl+z et revenir avec fg.

Fonctionnalités automatiques / passives

  • vérification orthographique
  • mise en surbrillance de syntaxe
  • auto linter dans la gouttière et fenêtre flottante
  • utiliser 2 espaces pour les tabulations partout
  • mémoriser la position du curseur entre les sessions
  • supprimer les lignes vides à la sauvegarde
  • supprimer les espaces inutiles
  • afficher tous les caractères invisibles
  • surligner les mots-clés 'TODO/FIXME/XXX'
  • améliorer le redimensionnement de vim
  • ajouter tous types de paires (), [] tag...
  • ajouter les paires Ruby (def/end, do/end)
  • ajouter des infos Git dans la gouttière
  • ajouter des infos de linter dans la gouttière ou avec un soulignement
  • montrer la définition de la méthode quand elle est disponible (utilisez <C-a> et <C-b> pour faire défiler après et avant)

Recherche

Actif :

  • <C-f> : rechercher dans le fichier courant (vim basique)
  • <Shift-f> : rechercher dans tous les fichiers (en utilisant fzf.vim / ag)
    • Attention : vous devrez peut-être désactiver votre recherche terminal pour que cela fonctionne.
  • <Esc> : annuler la recherche (annuler la mise en surbrillance)
  • <C-p> : rechercher un fichier par nom (en utilisant fzf.vim)
    • Enter : ouvrir
    • <C-t> : ouvrir dans un nouvel onglet
    • <C-x> : ouvrir dans un éclat horizontal
    • <C-v> : ouvrir dans un éclat vertical

Passif :

  • surligner les résultats en DarkGreen
  • surligner la sélection actuelle avec le curseur clignotant.

Barre latérale (NerdTree)

Actif

  • <C-n> : ouvrir/fermer NerdTree
  • Enter : ouvrir le fichier
  • i : ouvrir en éclat horizontal
  • s : ouvrir en éclat vertical
  • ... cf doc de NerdTree

Passif

  • icônes pour les fichiers
  • symboles basés sur l'état Git
  • ignorer certains dossiers (node_modules, .gitignore)

Ruby - voir c'est croire

F4/F5/F6/F7 marquer/exécuter/marquer & exécuter/effacer les marques du code.

Conquérir l'Achèvement

Les plugins seront installés au premier démarrage.

Pour Solargraph, vous devez l'installer pour chaque version de Ruby avec laquelle vous travaillez :

:InstallGems

Commandes utiles :

  • :CocInfo
  • :CocList commands
  • :checkhealth
  • :CocList extensions
  • :call CocAction('format')
  • :CocList marketplace python

Gardez à l'esprit les extensions disponibles :

  • javascriptreact
  • typescript
  • typescriptreact
  • typescript.tsx
  • graphql

Variables de Rôle

Aucun paramètre obligatoire, tous les paramètres se trouvent dans defaults/main.yml.

Exemple de Playbook

- hosts: localhost
  roles:
    - role: vimrc
      vim_user: foo

Utilisation en développement

Pour l'exécuter localement, créez un lien symbolique : cd /etc/ansible/roles & sudo ln -s /path/to/vimrc .

Licence

BSD

À propos du projet

vim installation & configuration

Installer
ansible-galaxy install haelle.vimrc
Licence
gpl-3.0
Téléchargements
97
Propriétaire
Product Owner RoR lover Former C#, PHP7, Python, SQL developper