Faits : A. Par jugement du 20 janvier 2020, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a condamné A._, pour viol, lésions corporelles simples qualifiées, contrainte, menaces qualifiées, injure et voies de fait qualifiées, à une peine privative de liberté de 30 mois - avec sursis portant sur 18 mois durant quatre ans -, à une peine pécuniaire de 20 jours-amende à 45 fr. le jour, ainsi qu'à une amende de 500 francs. Il a en outre dit que le prénommé est le débiteur de B._ d'un montant de 10'000 fr., avec intérêts, à titre de réparation du tort moral. B. Par jugement du 2 juin 2020, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par A._ contre ce jugement et a confirmé celui-ci. La cour cantonale a retenu les faits suivants. B.a. De nationalité espagnole, A._ est né en 1978. Son casier judiciaire fait état d'une condamnation, en 2013, pour violation grave des règles de la circulation routière. B.b. A._ et B._ se sont rencontrés au début de l'année 2014 et ont fait ménage commun dès juillet de cette année, avec la fille de la prénommée, issue d'une précédente union. B.c. En septembre 2014, au domicile du couple, B._ a reçu un SMS de la part d'un ami de sexe masculin, ce qui n'a pas plu à A._. Ce dernier, énervé, s'est emparé du téléphone de sa compagne - tout en la traitant de "pétasse" et de "salope" - et en lui demandant avec qui elle "baisait". B._ a repris son téléphone et s'est rendue dans sa chambre à coucher. A._ l'a suivie, l'a poussée sur le lit puis a commencé à la frapper. La prénommée a tenté de le repousser, mais A._ lui a saisi les pieds tout en continuant à l'injurier. Par la suite, ce dernier a repoussé B._ sur le lit à chaque fois que celle-ci tentait de se relever. Il a frappé sa compagne, a entrepris de la déshabiller de force, déchirant ses vêtements et affirmant qu'il allait lui donner une bonne leçon, ce qu'aurait - selon lui - mérité une "pétasse comme elle". A._ s'est ensuite placé à califourchon sur B._ et l'a tenue par la base du cou tandis qu'elle tentait de le repousser. Comme la prénommée essayait de se dégager, l'intéressé lui a maintenu les mains au-dessus de la tête, en la tenant par les poignets, achevant ainsi d'arracher ses vêtements. B._ lui a signifié qu'elle ne voulait pas de rapport sexuel et lui a fait remarquer que ce comportement s'apparentait à un viol. Elle a encore tenté de le repousser, en vain. A._ a alors pénétré vaginalement sa compagne avec son sexe, en lui déclarant que cela représentait ce que "les pétasses méritaient". Après avoir éjaculé en elle, l'intéressé a quitté la chambre. A la suite de ces événements, B._ s'est réfugiée dans la chambre de sa fille et y a dormi pendant plusieurs jours. B.d. Le 22 septembre 2014, au domicile du couple, A._ s'est rendu dans la chambre de la fille de sa compagne, dans laquelle se trouvait cette dernière. II a saisi la jambe de B._ et a tiré la prénommée vers lui. Il l'a ensuite attrapée par le cou et l'a traînée d'une main dans le séjour. B._ s'est débattue et a griffé son compagnon au visage. Sa fille, qui assistait à la scène, est intervenue et a demandé à A._ de cesser ses agissements. B._ est parvenue à se dégager et s'est réfugiée dans la chambre de sa fille, fermant la porte à clé. Elle y est demeurée jusqu'à l'arrivée de la police, appelée par le prénommé. Ensuite de ces événements, le genou de B._ s'est trouvé enflé pendant plusieurs jours. B.e. Entre l'automne 2014 et le 28 août 2017, tandis que B._ lui faisait part de sa volonté de se séparer de lui, A._ a menacé, à réitérées reprises, de se suicider ou de les tuer, elle et sa fille, si celle-ci venait à le quitter. A deux reprises, le prénommé a utilisé un couteau pour menacer de se supprimer, une fois en appuyant la lame contre sa propre gorge et une autre fois en s'enfermant a clé dans la salle de bain avec l'objet. En raison de ces menaces, B._ a, à chaque reprise, renoncé à ses projets de séparation. B.f. Le 28 janvier 2015, au domicile du couple, A._ est entré dans la salle de bain, où B._ se baignait, et a saisi cette dernière par les avant-bras en criant. La prénommée lui a demandé de la laisser tranquille, mais A._ a arraché le rideau de douche, faisant ainsi tomber la barre métallique qui le tenait. L'intéressé a ensuite ramassé cette barre et l'a utilisée pour frapper à plusieurs reprises sa compagne à l'épaule. Il a poussé plusieurs fois B._, provoquant un heurt avec le mur. La prénommée a ensuite quitté la salle de bain, mais A._ l'a suivie et l'a poussée à de nombreuses reprises, si bien que celle-ci s'est cognée contre un mur, contre le cadre du lit, ou a chuté. A._ s'est enfin emparé d'un bocal en verre pour frapper sa compagne, de manière répétée, sur la cuisse. Selon le constat médical de l'Unité de médecine des violences (ci- après : UMV) du Centre hospitalier universitaire vaudois, dressé le 2 février 2015, B._ a, à la suite de ces événements, présenté plusieurs ecchymoses au niveau du thorax, des membres supérieurs et inférieurs. B.g. Le 29 avril 2016, au domicile du couple, ensuite d'une altercation verbale, A._ a saisi sa compagne par le cou, l'a plaquée contre un mur et lui a asséné plusieurs coups de poing sur le haut du corps. B._ a réussi à repousser son compagnon d'un coup de pied, mais a chuté. Le prénommé l'a alors immobilisée avec son pied et a continué à la frapper à coups de poing. B._ est derechef parvenue à se dégager et s'est réfugiée dans sa chambre. L'intéressé l'a suivie et lui a dit : "je vais te tuer, te défoncer". II l'a ensuite saisie par les cheveux et par le cou. B._ a alors menacé A._ d'appeler la police s'il ne cessait pas ses agissements, ce qu'il a fait. Selon le constat médical dressé par l'UMV le 3 mai 2016, B._ a présenté plusieurs ecchymoses au niveau de la tête, du membre supérieur droit, du membre inférieur gauche, ainsi qu'au thorax. Elle a également souffert de rougeurs cutanées sur le cou, ainsi que d'une tuméfaction ecchymotique sur le membre supérieur gauche. B.h. Le 25 août 2017, B._ est sortie du domicile du couple, afin d'aller chercher sa fille à la gare. A._ lui a crié depuis le balcon : "pétasse, sale pute, tu pars baiser ?". B.i. Le 27 août 2017, au domicile du couple, en raison d'un SMS reçu par B._ de la part de son patron, A._ a saisi la prénommée par le cou, l'a giflée, l'a traitée de "grosse merde" et de "pétasse", menaçant des les tuer, elle et sa fille. B.j. Le 28 août 2017, au domicile du couple, A._ a menacé B._ de "foutre un bordel pas possible" chez son supérieur hiérarchique, avec qui il la soupçonnait d'entretenir une liaison. L'intéressé lui a également dit que les choses n'en resteraient pas là et qu'il allait faire tout le nécessaire pour qu'elle perde son travail. C. A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 2 juin 2020, en concluant, avec suite de frais et dépens, principalement à son annulation, subsidiairement à sa réforme en ce sens qu'une peine compatible avec le sursis lui est infligée, plus subsidiairement au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.