Après avoir étudié Vim pour les débutants, vous avez vu que la numérotation relative des lignes de vos fichiers ne survit pas à un rechargement. Bien que ce comportement puisse être défini dans le fichier de configuration de Vim.
Tous Vim les informations de configuration sont dans le .vimrc fichier trouvé dans le répertoire personnel. Vous pouvez l'ouvrir avec la commande edit file de l'intérieur Vim:
: e ~ / .vimrc
Ce fichier est vide car il n'a pas été utilisé. Ce tutoriel va vous montrer comment l'utiliser.
Avant d'insérer un code, vous devez documenter ce qui est fait. Vous savez peut-être ce que vous faites en ce moment, mais dans un mois, le problème est différent. Commentez toujours le code pour que, lorsque vous y reviendrez, on vous rappelle pourquoi vous avez codé quelque chose..
Pour le .vimrc fichier, tout ce qui suit une citation double jusqu'à la fin d'une ligne n'est pas utilisé. Par conséquent, vous pouvez mettre n'importe quoi pour vous aider à vous rappeler ce que vous avez fait..
set number "Ceci active la numérotation des lignes
Maintenant, vous saurez toujours que le numéro fixe commande active la numérotation des lignes.
Pour activer les numéros de ligne et la numérotation relative, vous devez l'indiquer dans le .vimrc fichier:
set number "Ceci active la numérotation des lignes. set relativenumber" Ceci active la numérotation relative.
Gardez ça et vous n’avez plus à y penser. À chaque fois Vim ouvre un fichier, il affichera maintenant les numéros de ligne relatifs. le ensemble commande définit une option qui est dans Vim. Une option est désactivée en définissant l'option opposée. Les options opposées sont les mêmes que celles avec non devant.
Utilisez ce qui suit pour désactiver la numérotation de ligne et la numérotation relative:
set nonumber "Ceci désactive la numérotation des lignes set norelativenumber" Ceci désactive la numérotation relative
Ne mettez pas les deux ensembles dans le .vimrc fichier. Cela l'allumera et le reculera. Dans un peu, je vais vous montrer comment faire cela plus par programme.
Si vous connaissez déjà l'état d'une option, cette option est un autre moyen de définir l'option. Les options sont basculées en mettant un ! après le nom de l'option. Ceci active / désactive les options:
définir le numéro! "Ceci modifie la valeur de l'ensemble de nombres relatif!"
Si l’état actuel d’une option est nécessaire, utilisez un ? après le nom de l'option. Dans Vim, type:
numéro fixe?
Il reviendra nombre. Cela vous permet de connaître l'état de l'option.
Si vous souhaitez modifier le nombre de colonnes affichées dans la zone de numéro de ligne, vous pouvez définir la nombre largeur à une valeur. Les éléments suivants définissent la largeur de colonne à 4:
set numberwidth = 4 "Définissez les numéros de ligne sur 4 espaces
Essayez-le et voyez combien d'espaces vous aimez et définissez-le dans le .vimrc fichier.
Si vous avez besoin d’une variable, les variables sont créées à l’aide de la touche laisser déclaration. Par exemple:
let name = "Richard Guay" "Définir mon nom dans la variable de nom
Lorsque vous enregistrez cela dans le .vimrc fichier (mais utilisez votre propre nom), il peut être affiché en mode commande avec : nom echo.
Voir le nom de la variableLes options sont traitées comme une variable en préfixant l’option par un Et. Les options peuvent être imprimées par:
: echo & numberwidth
le écho commande est seulement pour les variables, mais le préfixe d’une option avec un Et raconte Vim traiter l'option comme une variable. Cela vous permet d'utiliser la valeur de l'option en maths. Par conséquent, l’augmentation de 1 de la largeur de la zone de numéro de ligne est réalisée à
: let & numberwidth = & numberwidth + 1
Un echo & numberwidth devrait maintenant montrer 5.
Toutes les variables ont aussi leur portée. La portée est définie par une lettre, :, et le nom de la variable. La portée non définie est traitée comme une portée globale. Les différentes portées sont:
b: | Zone de mémoire tampon - Utilisable uniquement à partir de la mémoire tampon actuelle |
w: | Portée de la fenêtre - Disponible uniquement à partir de la fenêtre en cours |
t: | Portée de la page à onglet - Disponible uniquement dans la page à onglet |
g: | Portée globale - disponible partout |
l: | Portée locale disponible localement pour cette fonction définie |
s: | Portée source - disponible uniquement dans le fichier source |
une: | Argument scope-only disponible dans la fonction |
v: | Global scope-utilisé pour faire référence à une variable définie et utilisée par Vim |
La définition appropriée de la variable de nom à l'aide de la portée globale est la suivante:
let g: name = "Richard Guay" "Définir mon nom dans la variable de nom
Maintenant que vous savez comment définir les options et les variables, vous vous demandez peut-être comment trouver les différentes options. La recherche sur le Web est une option, mais les informations sont dans Vim. Type:
:mettre tous
Et Vim montrera toutes les options du programme. En tapant le :laisser et une entrée affichera toutes les variables.
le :Aidez-moi Cette commande permet de consulter la documentation complète intégrée à Vim. Sortir de :Aidez-moi, utilisation : q. Dans Aidez-moi mode, cela ne ferme pas le programme, mais met l'éditeur en mode normal.
Les fonctions sont très utiles dans le .vimrc fichier. Depuis le VimLes fichiers de configuration utilisent un langage de programmation complet, je vais maintenant faire référence à son vrai nom: VimScript.
Dans VimScript, définir une fonction en utilisant:
une fonction() endfunc
J'aime la numérotation des lignes et la numérotation relative, mais parfois vous ne voulez pas de numérotation relative. Taper la chaîne complète : set norelativenumber ou même : numéro relatif! y a beaucoup de dactylographie. Une fonction pour l'allumer et l'éteindre serait bien.
fonction TRelative () set nombre respectif! endfunc
Une fonction est exécutée avec le :appel commander.
: appelez TRelative ()
le une fonction Cette commande ne vous permet pas d’écraser une fonction déjà définie. Si cette fonction a déjà été définie ailleurs ou si vous avez essayé de recharger à nouveau le fichier, Vim erreur et arrêter le traitement du fichier à ce stade. Si vous utilisez le une fonction! commande, la fonction sera écrasée sans erreur. C'est une bonne pratique de programmation dans VimScript utiliser principalement une fonction!.
Pour désactiver toute la numérotation, une fonction peut être créée pour faire cela et c'est l'inverse. Ajoutez ceci au .vimrc:
une fonction! NoNumber () set nonumber set fonction norelativenumber endfunc! Numbers () set number set nombre respectif endfunc
Pour passer des paramètres à une fonction, vous placez un nom de variable à l'intérieur de la parenthèse. Par exemple:
une fonction! Bonjour (nom) echo "Bonjour" a: nom endfunc
Comme vous le voyez, vous devez définir des variables de portée qui sont les arguments d'une fonction. Lorsque vous appelez la fonction avec un nom, vous obtenez
: appeler Bonjour ("Richard") Bonjour Richard
L'une des utilisations les plus importantes du fichier de configuration est la configuration des mappages de clés. Par exemple, vous activez et désactivez les nombres relatifs de nombreuses manières. Au lieu de taper : appelez TRelative tout le temps, un raccourci clavier est beaucoup plus rapide. Pour ce faire, le carte commande aidera.
carte: appelez TRelative ()
Avec cette ligne dans le .vimrc fichier, vous pouvez maintenant taper Contrôle-t et la numérotation relative sera activée ou désactivée. Essayez-le en effectuant un mappage pour basculer toute la numérotation de ligne.
Les cartes clés ne sont pas uniquement destinées au mode normal, mais à tous les modes. Si vous préfixez la commande avec la première lettre d'un mode, il mappera la clé de ce mode.. nmap aussi des cartes pour mode normal. vmap cartes pour mode visuel. imap cartes pour mode d'insertion.
Maintenant que vous connaissez ces commandes, oubliez-les. Ces commandes peuvent être dangereuses. Si vous remappez une clé à nouveau, il utilisera le nouveau mappage et peut créer une boucle infinie dans les mappages..
Pour éviter cela, vous devez ajouter plus après le mode et avant la carte. Donc, nmap est nnoremap, vmap est vnoremap, et imap est inoremap. Ceux-ci utilisent le mappage par défaut pour tout raccourci clavier que vous référencez dans la macro. Celles-ci sont beaucoup plus sûres à utiliser dans le fichier de configuration.
Dans ce tutoriel, je vous ai montré les bases de la création d’un Vim fichier de configuration. Je vous ai montré comment: commenter le fichier de configuration, définir / annuler les options et les variables, créer des fonctions de base et mapper les raccourcis clavier. La meilleure façon de se souvenir est de pratiquer.