Keeping vigils before major feasts is an ancient institution in the church, which was highly recommended by the early Fathers, for example St. Augustine and St. Jerome. The faithful would assemble in the church in the preceding evening and prepare themselves by prayers and readings; this later became the offices of first vespers and matins. Mass was celebrated in the evening before first vespers. Towards morning, people returned to their homes to await the solemnities of the morning.
These vigils sometimes gave occasion to abuses, with the people dancing and drinking in the streets around the church. St. Jerome speaks of these abuses. So in the course of time, the number of vigils was greatly reduced, and eventually the overnight vigils were suppressed. Instead, a fast day before the feast was introduced. The custom of fasting on the day before a major feast in fact goes back much further, being referred to by writers of the early fifth century.
In the Latin church, only the older feasts have vigils, and those feasts introduced in recent centuries do not. Even major feasts like Corpus Christi and the Sacred Heart do not have vigils, though the Immaculate Conception was singled out by Pope Leo XIII as an exception.
The Tridentine Breviary has 18 vigils, applicable to the whole Latin church, for the feasts of:
Easter (Holy Saturday)
The Immaculate Conception
Eight feasts of the Apostles – St Matthias, SS Peter and Paul, St James, St Bartholemew, St Matthew, SS Simon and Jude, St Andrew, St Thomas
St John the Baptist
Religious orders and dioceses sometimes have their own proper vigils, as would be expected. For example, the Carmelites keep the vigil of the Feast of Our Lady of Mount Carmel.
The vigils of Christmas, the Epiphany and Pentecost are the major vigils, and have a proper office. The rest are minor or common vigils, and have a ferial office. If a vigil falls on a Sunday, it is transferred to the preceding Saturday. Christmas eve, though, takes precedence over the 4th Sunday of Advent.
The feast of SS Philip and James has no vigil, since it always falls in Eastertime, when vigils are not permitted. Similarly, the Feast of St John falls in the octave of Christmas, so has no vigil.
The revised calendar introduced by Pope Pius XII in 1955 suppressed the vigils of all the apostles, except SS Peter and Paul, also suppressing the vigils of All Saints, and of the Immaculate Conception. All of the others, apart from Christmas, Easter and Pentecost, are no longer transferred if they fall on a Sunday. No further changes were made to vigils in 1962.