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é ...).
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 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é.
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.
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.
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:
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.
Réponses:
Notre CTO a une configuration Vim assez riche en fonctionnalités sur GitHub .
Points forts:
Je le trouve idéal pour le codage Ruby, car nos outils d'administration système sont écrits en Ruby.
la source
Tout d' abord, si vous avez plus de machines à couple que vous travaillez, pensez à mettre votre
~/.vim/
,~/.vimrc
et d' autres fichiers de configuration utiles (screen
, votre shell, etc.) dans un système de contrôle de révision. Je préfère utiliserdarcs
- 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 / aimezgit
, 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~/.vimrc
suite. Désolé, pas de liens pour les scripts, etc. parce que je suis un nouvel utilisateur, mais tous ceux que vous pouvez trouver surhttp://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
,XXX
et lesTODO
balises 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-cidbext 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
,sqlplus
et 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
/etc
et 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:Options de configuration de ViM
La plupart des options de configuration sont très populaires, comme
set nocompatible ruler
etc. De très bonnes options sont:set gdefault
: inverse leg
modes///g
- avec cette option/g
sera utilisée par défaut, vous n'avez donc pas besoin de l'ajouter à chaque fois - il suffit de l'ajouter pour le désactiverset 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 majusculesset pastetoggle=<F6>
: ou une autre clé que vous préférez, bascule entre les modespaste
etnopaste
, 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
xxsig
et d'appuyer sur l'espace, il sera changé en quelque chose commeharnir 20090531
. Pour que cela fonctionne correctement avec root (c.-à-d. Écrivez votre nom d'utilisateur au lieu deroot
), vous devez vous connecter en utilisantsudo
.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: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.local
fichier, inclus automatiquement à la fin de la configuration (s'il est présent, bien sûr).la source
Je ne sais pas vraiment quelle partie de cela est spécifiquement liée à l'administrateur système, mais mes éléments essentiels sont:
Je m'assure également toujours que la machine a accès au fichier de mise en évidence de la syntaxe nginx .
la source
Si vous travaillez généralement avec un utilisateur, cela permet de "diriger" un fichier vers sudo afin qu'il puisse être enregistré.
utilisez la commande:
pour invoquer sudo et enregistrer le fichier.
la source
tee
au lieu decat
?Vous pouvez également regarder cette question SO: Que contient votre vimrc ?
la source
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
la source
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.
la source
Au moins une partie de ma réponse est la même que ma programmation .vimrc:
Si au moins certains fichiers que vous éditez ne sont pas dans RCS, ils devraient l'être! :)
la source
Désactiver tous les modes d'indentation «intelligents». Idéal pour la programmation, l'enfer pour le fichier de configuration.
la source
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.
la source