У місті Київ або в місті москві як правильно

Відповідь проста: в місті Москві, з міста Харкова, через село Вільхівці.
Правило таке: географічна назва, вжите з родовими назвами місто, село, село, хутір, річка. що виступає у функції додатка, узгоджується з визначальним словом, тобто схиляється, якщо топонім українського, слов'янського походження або є давно запозичене і освоєний найменування.
А варіанти в г. Киев, в місті Київ не відповідають літературній нормі.
Географічні назви слов'янського походження, що закінчуються на-ово, -ево, -іно, -ино, не відмінюються в поєднанні з родовим словом: з району Любліно, в місті Торез, з села Простоквашино, до краю Косово. Якщо ж родового слова немає, то можливі обидва варіанти - схиляється (старий) і невідмінювані (новий): в Любліні та в Любліно, в Торез і в Іванові, з Простоквашино і з Простоквашино, до Косова і до Косово.
При цьому схиляється варіант відповідає суворої літературної норми.
Звичай не схиляти географічні назви укорінився в професійного мовлення військових і топографів і під впливом цього професійно-термінологічного мови широко поширився в сучасній мові, проте нормою його вважати не можна.
До речі, річка Київ, яку частіше називають Москвою-рікою, теж схиляється: з Москви-ріки, в Москві-річці. Москвичі не люблять схиляти "Москву", і річка перетворюється в їхній мові в "Москва-ріку", як ніби це одне слово, "Москва-ріка", а не два. Помилка, на жаль.
Не всі географічні назви схиляються в поєднанні з родовими словами. Чи не схиляються топоніми, якщо вони іноземні і не надто відомі (в місті Менстон), якщо їх форма відповідає множині (в місті Великі Луки), якщо при відмінюванні складно відновити вихідну форму назви (в місті Чільне - бо інакше ми не зрозуміємо, як називається місто: Видатний або Чільне). У цих випадках потрібно дотримуватися називного відмінка.