3 votes

Exécuter la commande vim à partir de la ligne de commande

J'ai besoin de faire ce qui suit dans plusieurs fichiers : dt{%lx:wq c'est-à-dire,

  1. supprimer au premier {
  2. trouver la correspondance }
  3. supprimer le caractère suivant
  4. sauvegarder et quitter

Comment puis-je faire cela à partir de la ligne de commande sans ouvrir l'écran ?

vi -c 'dt{%lx:wq' échoue avec l'évidence

E492: Not an editor command: dt{%lx:wq

Je suppose que je dois convertir chaque commande - dt{ , % , l , x - à un ex commandement. Comment trouver les commandes ?

5voto

kenorb Points 22006

Vous pouvez utiliser les deux vi y ex par exemple :

ex -s +'norm dt{%lx' -cwq foo

について vi il suffit d'ajouter -e (pour le mode Ex) :

vi -es +'norm dt{%lx' -cwq foo

Donc, pour que vos exemples fonctionnent, vous devez essentiellement ajouter norm / normal qui exécute les commandes en mode Normal (comme vous le feriez en tapant dans Vi).

Les paramètres clés sont :

  • -s - Mode silencieux qui n'ouvre pas l'écran. Utile pour travailler dans le terminal.
  • -e - Ex-mode (nécessaire pour vi / vim commandes) comme ex l'ont déjà par défaut
  • -cwq - Une façon plus agréable de faire :wq

Si vous avez encore des problèmes, ajoutez -V pour la verbosité.

Pour d'autres exemples, consultez :

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X