Supposons que virtualedit=
. Considérons le fichier texte suivant.
1 2 1 1 1 1 1 1
1 3 1 1 1 1 1 1
1 4 1 1 1 1 1 1 1 1
1 1 1 1 7 1 1 1
Si je sélectionne visuellement les lignes 2 à 4 et que j'utilise $
pour rendre la sélection non rectangulaire, le code suivant échouera à trouver la colonne la plus à droite dans la sélection. Plus explicitement, j'utilise la séquence de touches 2G^vjj$
donde ^v
est Control-V.
" rightmostCol becomes 15, not 19 as desired.
let rightmostCol = virtcol("'>")
Y a-t-il une autre fonction que je peux appeler, ou une expression que je peux passer à virtcol
Comment obtenir de manière programmatique le numéro de la colonne la plus à droite dans ma sélection Visual Block ?
Notez que le simple fait de trouver la longueur de la ligne la plus longue dans le bloc visuel est incorrect, car la sélection visuelle aurait également pu être rectangulaire, et ces cas ne doivent pas être traités de la même manière.
Editar : S'il était possible de déterminer si la sélection du bloc visuel est rectangulaire ou non, cela fonctionnerait également.