Please explain the difference between /i:/ as in feet and /i/ as in city and very. I presume it sounds the same except that the 2nd one is shorter. Am I right?
Since you're using slashes, I'll give you a phonological answer rather than a phonetic one; user6726 has given a good overview of the phonetics involved.
Since English has so many dialects, with vowels pronounced in so many different ways, there's a convention of using specific example words alongside the IPA to make it clear what you mean. The vowel in "feet" is conventionally called FLEECE, while the vowel in "fit" is called KIT.
Now, it's clear that FLEECE and KIT are different phonemes (feet~fit is a minimal pair). But this distinction only shows up in stressed syllables, and never word-finally: "seat", "sit", and "sea" are all valid words, but there is no *si pronounced with KIT.
So when it comes to the final vowel in "city", which is unstressed and in final position, some people treat it as FLEECE, some treat it as KIT, and some treat it as its own special phoneme, called HAPPY. Phonetically, some people pronounce it with the quality of FLEECE (like me), some with the quality of KIT, and some with a quality that's more central than either of those.
If a phonological work is talking about a three-way distinction
/iː i ɪ/ in English, they're using this last convention: those three symbols stand for FLEECE, HAPPY, and KIT respectively. In this case,
/i/ is a compromise between
/ɪ/, showing that the distinction between the two has vanished in unstressed final position. But it doesn't have anything to do with actual phonetic vowel length, as in vowels being pronounced for more or less time, which is non-phonemic in English. It's just a way of representing HAPPY as a mixture of FLEECE and KIT.
(As for how to pronounce it—as user6726 said, it depends on dialect. You can pronounce it just like FLEECE or KIT if you like, and people will still understand you, since there's no ambiguity there.)
There are three stressed vowels here: [feet] with [i:] (one transcription), [city] with [ɪ], or some people write [i], and [very] with [ɛ]. Probably not much confusion over [ɛ] versus the other vowels. Then there is the unstressed vowel of city, very. The pronunciation of unstressed word-final /i/ varies a lot between dialects, so some people say [sɪTi] and some say [sɪTɪ] (I use "T" because there is also dialectal variation in how /t/ is pronounced). In my dialect it's pronounced [ˈsɪɾi], but [ˈsɪɾɪ] is common in the American south (this is apparently the Queen's English as well). In stressed syllables, there is a contrast between [i] and [ɪ], cf. "feet, fit; leap, lip". There is no contrast in final position in my dialect so the high front vowel is always [i].
There is also a predictable phonetic difference of vowel length between longer vowels in "hid, heed, bed, bade, lewd, goad", compared to "hit, heat, bet, bait, lute, goat". Vowels are longer before voiced consonants and shorter before voiceless consonants. Because this phonetic difference is predictable, you can omit indication of length in transcriptions since it could be supplied by rule, whereas there is no rule predicting the difference between [i,ɪ] in "heat, heed" versus "hit, hid". You can therefore write "heat" as [hi:t] and "hit" as [hɪt], but then you will need some other means of writing the predictable difference between heat and hit.
The phonological difference between the word-final vowel and the English high front vowels in stressed position is that there are two distinct (unpredictable) vowels in the latter context, and one in the former. There is no uniform answer to questions about how such-and-such word or vowel is actually pronounced in English, because there are vast numbers of dialects. Lindsey's blog provides some examples of individual pronunciation differences. To really "understand" the differences, I think you need some live speakers of different dialects, and compare how individuals say "city" etc. I would also suggest including the vowels of "gate, get, goat" and that other vowel that I don't have.