In May 2008 there was a single bus/day from Vidin to Belogradchik, leaving Vidin at 14,00. it takes a little more than 1 hour and costs 2 leva (1 EURO).
By train, the easiest way is to get first to Gara Oreshets (trains leave Vidin at 6.00, 8.20, 11.30, 16.43 and 20.53 and take about 90 minutes, for the price of 4 leva). There are always some taxis waiting in the train station in Gara Oreshets and can take you across the valley to Belogradchik for 7 leva (3,5 EUR) in less than 15 minutes.
To escape the ubiquitous infernal-combusting engined machines Vidin is eminently provided with cycle and pedestrian paths which have actually been partly-funded by our good old British Embassy in Sofia. Apart from crossing a few roads the whole town is easily accessible and being in the Danube valley means that it is all pretty much level too. If you do need to give the cardio-vascular a proper work-out there is also a velodrome at the southern end of the town which seems to be open for public use. The only thing I didn't notice however was a bike hire place but perhaps your hotel will have suggestions.
Vidin is very easy to get to by public transport being the terminus of the main railway line up from Mezdra and is also serviced from around the country by various bus companies including regular departures from Sofia. The train journey from Sofia takes about 5 and a half hours and cost, at the time of writing, 11.40 Leva whilst the bus is slightly faster and about 16 Leva. I am reliably informed that only poor people use the train but I personally found the train trip as it chugs (metaphorically-speaking) its way up through The Balkans very pleasant indeed, despite having to stand for the first 100 Km or so.
Both the bus and train stations are located next to each other in the centre of town and most hotels etc. are within easy walking distance. If you need to travel further afield local buses also go from the stations and there are usually plenty of taxis around too.
The first website is for the Bulgarian National Railways, which has a very user-friendly English option, the second is the timetable for buses from Sofia.
There are a couple of direct trains from Sofia to Vidin. It takes around 5h30min and in August 2003 the price was 7.6 Leva (around 4€) for a single second class ride. Check out fares and timetables on the Bulgarian railways website, adress below
The ferryboat between Vidin and Calafat (Romania) is an interesting way to get to/leave Vidin or Romania, but only do it if you have plenty of time and patience, as I had to wait 1h30min before the boat to show up, not to mention the suspicious Bulgarian border guards. For a long time it appeared as if the boat on the picture was the ferry but after a while another, smaller, dumpier boat showed up. Fares for pedestrians are : 6 Leva or 3 Euro single