RÉSOLU Vim : ouvrir le fichier à la Nième ligne avant la fin

Bonjour
existe-t-il le moyen de donner en paramètre à vim
soit le numéro d’une ligne, en comptant à partir de la fin,
soit une ligne désignée par une regex
pour qu’il s’ouvre directement sur cette ligne?

Il me semble que oui, mais je ne parviens pas à retrouver cette option.

Merci

EDIT, ce n’est pas dans :help, mais dans man vim!

Désolé pour cette étourderie

J’ai trouvé:
vim +/regex fichier.txt pour ouvrir fichier.txt et se placer sur la ligne correspondante à regex
et
vim +n fichier.txt pour ouvrir fichier.txt et se placer sur la ligne n

La question reste non résolue sur la question d’ouvrir sur une ligne numérotée à rebours (en partant de la fin)

Bonsoir josephtux

Un petit script, peut-être :

#!/bin/bash

[ "${#@}" = "2" ] && vim +$(( $(wc -l < "${2}") - ($1 - 1) )) "${2}" || \
echo "$0 <nombre_de_lignes_avant_EOF> <nom_de_fichier>"

salut,

vim +'normal G5k' ~/lorem\ ipsum
par exemple, pour aller à la cinquième ligne avant la fin du fichier ~/lorem ipsum.

Edit:
@anon29980398 :
le nombre d’arguments, c’est $#, tout simplement;
et les guillemets ne sont pas nécessaires étant donné que les nombres sont “insécables”.

Bonjour josephtux et Watael

@josephtux Laissse tomber ma proposition de script car la proposition de Watael est tout simplement la meilleure.

@Watael Merci beaucoup pour tes recommandations concernant mon essais de script. J’apprécie :slight_smile:
Je ne modifie pas mon message original pour garder la cohérence de la suite des messages de ce fil, mais j’en prends note.

Merci Micp et Watael

J’avais bien imaginé un script sans l’avoir réalisé, mais la réponse attendue est bien celle de Watael, mais où vous trouvé cette info («normal») ?

Même chose pour moi : il me manquait cette syntaxe : normal
J’avais pourtant essayé sans succès avec l’option -e et G10k pour mes tests…

[quote=“josephtux, post:6, topic:72254”]
je vais essayer de comprendre («normal» ?)
[/quote]https://en.wikibooks.org/wiki/Learning_the_vi_Editor/Vim/Modes

Ça y est,
:normal
permet de passer les commandes du mode normal en mode ex (celui qui est documenté dans man vim, avec l’option «+»)

Documenté dans :help normal, tout simplement

J’ai l’impression d’avoir grandi d’un petit mm :wink:

Encore merci (et merci vim)