Suggestions d'entrées dans un administrateur système .vimrc


21

À tout le moins, je décomment toujours "syntaxe activée" dans / etc / vim / vimrc


Attention, toujours avoir la syntaxe activée peut être une mauvaise idée si vous modifiez souvent de gros fichiers. Sur des fichiers volumineux (des dizaines ou des centaines de Mo), la mise en surbrillance de la syntaxe peut entraîner la perte de responsabilité de vim pendant plusieurs secondes, car il consomme beaucoup de CPU. Essayez simplement d'éditer un énorme fichier XML ... Bien sûr, vous pouvez toujours faire: syn off (une fois que vim a récupéré ...).
sleske

Réponses:


4

Notre CTO a une configuration Vim assez riche en fonctionnalités sur GitHub .

Points forts:

  • Surlignage de la syntaxe, 2 tabstop d'espace, onglets développés.
  • NERDtree, une arborescence de fichiers similaire au tiroir de projet de TextMate.
  • FuzzyFileFinder , plugin pour faire la fonctionnalité cmd-T de TextMate.
  • Beaucoup de thèmes de couleurs avec une belle valeur par défaut (crépuscule).

Je le trouve idéal pour le codage Ruby, car nos outils d'administration système sont écrits en Ruby.


Je viens de jouer avec un tas de ceux-ci et il y a beaucoup plus à étudier avec la configuration vim que vous avez répertoriée, mais cela correspond à mes attentes en matière de valeurs par défaut et de fonctionnalités utiles. Je ne sais pas comment un wiki communautaire me permet de voter comme «réponse», mais anyhoo. Merci!
Gareth

17

Tout d' abord, si vous avez plus de machines à couple que vous travaillez, pensez à mettre votre ~/.vim/, ~/.vimrcet d' autres fichiers de configuration utiles ( screen, votre shell, etc.) dans un système de contrôle de révision. Je préfère utiliser darcs- c'est bon marché sur les systèmes Debian (pas besoin d'installer le compilateur Haskell, installez juste le paquet directement), distribué et a de grands modes interactifs. Si vous savez / aimez git, vous pouvez également vous en tenir à cela.

Mes fichiers de configuration actuels sont disponibles dans mon dépôt de darcs, http://repo.harnir.net/. Quelques exemples spécifiques de ma ~/.vimrcsuite. Désolé, pas de liens pour les scripts, etc. parce que je suis un nouvel utilisateur, mais tous ceux que vous pouvez trouver sur http://vim.org/.

Scripts ViM essentiels pour les administrateurs système

  • un script de sauvegarde est indispensable lorsque vous modifiez des fichiers distants. J'utiliser cbackup.vim script, qui conserve 10 dernières copies de chaque fichier dans un répertoire édité central et supprime automatiquement les anciens - il suffit de mettre dans votre ~/.vim/plugins/répertoire et oublier :-)

  • TaskList vous permet de rechercher rapidement FIXME, XXXet les TODObalises dans le fichier en cours, les afficher et aller à l'étiquette avec une seule pression de touche. Si vous utilisez ces balises, envisagez d'installer celle-ci

  • dbext est essentiel pour tous les DBA, également très utile pour les programmeurs travaillant avec des bases de données. Laissez-vous exécuter des requêtes, vérifier la structure des bases de données et ainsi de suite. Il est essentiellement une extrémité avant pour des outils comme mysql, sqlite3, sqlpluset d' autres. Si vous travaillez avec des bases de données, c'est un must!

Fichiers de syntaxe

Je n'ai pas vu beaucoup de syntaxe utile dans la nature, la plupart des fichiers avec lesquels les administrateurs système fonctionnent sont des configurations /etcet ils sont généralement assez bien mis en évidence. Dans mon, ~/.vim/syntax/j'ai actuellement une syntaxe pour les couleurs CSS , ce qui est génial (également bon pour les développeurs Web), mais le reste n'est pas très bien écrit, je vais peut-être les mettre à jour pendant le temps libre. Les fichiers de syntaxe supplémentaires qui valent la peine d'être créés sont pour: dhcpd.conf , / etc / network / interfaces , les fichiers de configuration nginx et le fichier local.cf de SpamAssassin .

Astuce utile avec la syntaxe: si un fichier de configuration n'est pas reconnu (a un nom étrange, comme /etc/apache2/sites-enabled/some.domain.com, vous pouvez soit ajouter l'extension correcte à son nom (dans ce cas .conf) ou ajouter une modélisation ViM à la fin de celui-ci:

# vim: filetype = apache

Options de configuration de ViM

La plupart des options de configuration sont très populaires, comme set nocompatible ruleretc. De très bonnes options sont:

  • set gdefault: inverse le gmode s///g- avec cette option /gsera utilisée par défaut, vous n'avez donc pas besoin de l'ajouter à chaque fois - il suffit de l'ajouter pour le désactiver

  • set incsearch ignorecase smartcase hlsearch: essentiel pour la recherche dans les fichiers - incrémentiel, affiche les correspondances en temps réel, la recherche ignore la casse sauf si vous utilisez des majuscules

  • set pastetoggle=<F6>: ou une autre clé que vous préférez, bascule entre les modes pasteet nopaste, un must si vous copiez-collez quelque chose à partir d'une page Web comme ServerFault :-)

  • set noerrorbells visualbell t_vb=: débarrassez-vous de la cloche ennuyeuse ou visuelle à chaque fois que vous faites quelque chose;)

Fonctions, mappages de clavier

  • collez votre nom d'utilisateur et votre date actuelle dans un fichier, utile si vous travaillez en équipe et ajoutez des commentaires dans des fichiers sur qui a changé quelque chose quand. Il suffit d'écrire xxsiget d'appuyer sur l'espace, il sera changé en quelque chose comme harnir 20090531. Pour que cela fonctionne correctement avec root (c.-à-d. Écrivez votre nom d'utilisateur au lieu de root), vous devez vous connecter en utilisant sudo.

    iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` date '+ \% Y \% m \% d'` "\ | \ | echo "$ USER` date '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
    
  • Insérez un commentaire "lignes", comme # -- Some title -------------------{{{1, longueur 78 caractères - appuyez sur \com#en mode normal et le voilà. Vous serez automatiquement en mode Remplacer pour pouvoir ajouter le titre:

    nmap \ com # O # <Esc>72A-<Esc>3A{<Esc>A1<Esc> <Home> 4 <Right> R <Space>
    

Vous pouvez facilement le modifier pour d' autres systèmes de commentaires ( ", //, etc.), ou tout simplement vérifier mon fichier de configuration.

Touche finale

Si vous avez vos fichiers de configuration dans le système RCS, vous voudrez peut-être parfois inclure des options de configuration spécifiques à une certaine machine. Pour cela, il est bon d'avoir un ~/.vimrc.localfichier, inclus automatiquement à la fin de la configuration (s'il est présent, bien sûr).

si lisible par fichier (développez ("~ / .vimrc.local"))
        source ~ / .vimrc.local
fin si

La dernière astuce - aussi bonne soit-elle - ne fonctionne pas lorsque vous avez des répertoires personnels montés sur NFS: quelle que soit la machine sur laquelle vous vous trouvez, votre répertoire personnel sera le même. Notez également que cette astuce dépend de la définition de "~" - certains shells ne supportent pas ce raccourci.
Mei

En tant qu'administrateur système, vous travaillez probablement sur les serveurs sur le compte 'root', qui devrait être local et non monté via NFS. Dans ce cas, /root/.vimrc.local devrait fonctionner correctement.
drybjed

6

Je ne sais pas vraiment quelle partie de cela est spécifiquement liée à l'administrateur système, mais mes éléments essentiels sont:

syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
  filetype plugin indent on
endif
set showcmd             " Show (partial) command in status line.
set showmatch           " Show matching brackets.
set ignorecase          " Do case insensitive matching
set smartcase           " Do smart case matching
set incsearch           " Incremental search

Je m'assure également toujours que la machine a accès au fichier de mise en évidence de la syntaxe nginx .


Je l'ai simplement formulé comme ça pour séparer ce qui pourrait être spécifiquement lié à la «programmation» pour un .vimrc Dois-je changer la question pensez-vous?
Gareth

Non, laissez-le tel quel, je suis sûr que certaines personnes ont des choses liées à l'administrateur système, mais pas moi.
Adam Gibbins

Généralement d'accord avec cela ... Mais une tabulation est de 8 espaces. Tout le reste et il se comporte différemment dans vim puis dans less / tail / cat. Cela pourrait être une de ces choses religieuses.
Alexandre Carmel-Veilleux

4

Si vous travaillez généralement avec un utilisateur, cela permet de "diriger" un fichier vers sudo afin qu'il puisse être enregistré.

cmap w!! %!sudo tee > /dev/null %

utilisez la commande:

:w!!

pour invoquer sudo et enregistrer le fichier.


Intéressant. Pourquoi utilisez-vous teeau lieu de cat?
David Schmitt,

1
Parce que cat n'écrira rien dans un fichier; il écrit simplement sur stdout.
Chris Jester-Young,

cat ->% Fonctionne tout aussi bien.
olle


2

Prise sans vergogne. Ce n'est pas vraiment un changement .vimrc mais plutôt un plugin VIM. J'utilise RCSVers sur chaque version installée de VIM. Fondamentalement, il utilise la commande RCS pour enregistrer une version de tout fichier que vous modifiez. Vous ne savez pas combien de fois j'ai foiré un fichier de configuration uniquement pour que RCSVers me sauve en me montrant les modifications que j'ai apportées.

http://www.vim.org/scripts/script.php?script_id=563


2

N'utilisez pas .vimrc pour éviter d'apprendre VIM

Comme je sais que beaucoup de nouveaux arrivants VIM liront ceci, la meilleure suggestion que j'ai est: "Ne soyez pas paresseux et ne mettez pas d'entrées de carte dans votre .vimrc" Apprendre des façons non standard de faire les choses dans VIM vous donnera l'impression une gimp totale lorsque vous êtes sans votre vimrc. La courbe d'apprentissage de vi est abrupte, mais vous ne vous faites aucune faveur en choisissant de ne pas apprendre.


1
Vim a de belles fonctionnalités. Pourquoi ne pas l'utiliser ?? Lorsque vous devez passer à vi, c'est temporaire. Si vous pensez que vous devrez travailler fortement là où vim n'est pas installé, cela vaut la peine de l'installer.
Luc M

0

Au moins une partie de ma réponse est la même que ma programmation .vimrc:

set hidden
map <TAB> :e#<CR>

map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>

Si au moins certains fichiers que vous éditez ne sont pas dans RCS, ils devraient l'être! :)



0

Je finis souvent par utiliser strace pour traquer les problèmes étranges. Par conséquent, essayer de mettre en évidence la syntaxe de certaines lignes peut devenir ridicule avec une grande chaîne de caractères. Ceci étant le cas, j'utilise set synmaxcol = 2048 pour limiter la coloration syntaxique à 2048 colonnes.

Je suis également très fan du plugin taglist qui utilise des tags exubérants. Jusqu'à présent, j'ai pu contourner le binaire ctags compilé et je n'ai rencontré aucun problème de bibliothèque. Cela me permet rapidement de naviguer parmi les codes avec lesquels je travaille. Ceux-ci étant généralement Perl, Python ou C.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.