Faits :
A.
Par jugement du 2 juillet 2018, le Tribunal criminel de l'arrondissement de Lausanne a, notamment, libéré X._ des chefs d'accusation de voies de fait qualifiées, de menaces qualifiées et de viol, a constaté qu'il s'était rendu coupable de lésions corporelles simples, de lésions corporelles simples qualifiées, de mise en danger de la vie d'autrui, d'injure et de contrainte, l'a condamné à une peine privative de liberté de 32 mois, sous déduction de deux jours de détention subis avant jugement, et dit que cette peine était partiellement complémentaire à celle prononcée le 24 mai 2015 par la Cour d'appel pénale du Tribunal cantonal vaudois et entièrement complémentaire à celle prononcée le 18 mai 2018 par le Ministère public de l'arrondissement de Lausanne, l'a condamné à une peine pécuniaire de dix jours-amende à 80 fr. le jour et dit que cette peine était entièrement complémentaire à celles prononcées le 4 octobre 2016 par le Ministère public de l'arrondissement du Nord vaudois, le 28 juillet 2017 par le Ministère public de l'arrondissement de l'Est vaudois et le 20 mars 2018 par le Ministère public de l'arrondissement de La Côte, a révoqué le sursis partiel accordé le 24 mars 2015 par la Cour d'appel pénale du Tribunal cantonal vaudois et a ordonné l'exécution du solde de dix mois de peine privative de liberté.
B.
Par jugement du 28 novembre 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a très partiellement admis l'appel de X._ en ce sens qu'il a été libéré de l'infraction d'injure, que la peine pécuniaire afférente a été annulée et les frais mis à sa charge légèrement réduits. Elle a confirmé le jugement entrepris pour le surplus.
En bref, il en ressort les faits suivants.
B.a. A leur domicile conjugal de l'époque, le 6 décembre 2014, X._ et A._ ont eu une altercation, au cours de laquelle cette dernière a fait appel à la police. X._ a tiré les cheveux de A._, lui a donné des coups de poing au visage et à la tête, ainsi que des coups de pied aux jambes. Elle a réagi en lui donnant une claque. A._ a souffert de plusieurs hématomes, notamment au visage, ainsi que d'égratignures.
B.b. Le 23 décembre 2014, lors d'une dispute, A._ a profité d'un moment où son époux était aux toilettes pour se munir d'un couteau avec une lame dentelée longue d'environ 8,5 cm et large de 1,8 cm au maximum. Elle est ensuite retournée s'asseoir sur le canapé du salon, où elle se trouvait initialement. Au retour de X._ dans le salon, l'altercation a repris. A un moment donné, ce dernier a vu que son épouse s'était munie d'un couteau et lui en a demandé la raison. Elle lui a répondu que c'était pour se protéger de lui. Il s'est accroupi devant elle et lui a dit à plusieurs reprises " pique-moi! ". Elle a répondu que non et s'est levée. X._ s'est également levé, a pris une couverture et a frappé son épouse avec. Cette dernière a reculé tout en le repoussant avec ses deux mains. Elle s'est ensuite dirigée vers lui et a fait plusieurs gestes dans sa direction avec le couteau, soit des mouvements de balayage horizontaux, le blessant ainsi au dos de la main gauche ou d'une épaule. X._ a réagi en saisissant son épouse par les poignets et l'a poussée en arrière, la faisant tomber au sol sur le dos. Il s'est mis à genoux au-dessus d'elle et a essayé de lui prendre le couteau qu'elle tenait de la main gauche. Elle a tenté de l'en empêcher en bougeant sa main avec le couteau mais il a finalement réussi à le lui prendre. Ce faisant, il l'a coupée à la main et à l'avant-bras gauches. Puis, pour la maintenir au sol, il a appuyé sur son cou avec sa main gauche en mettant son pouce et son index de chaque côté du cou. Elle a alors eu de la peine à respirer. Il a placé le couteau sur le côté gauche du cou de son épouse et l'a appuyé légèrement à cet endroit. Il lui a demandé si elle croyait être plus forte que lui et lui a dit que s'il voulait la tuer, il pouvait le faire. A ce moment-là, leur fils qui dormait dans sa chambre s'est mis à pleurer. Son père est allé le rejoindre pour s'en occuper. A._ en a profité pour aller se réfugier dans les caves du sous-sol de l'immeuble après avoir pris son téléphone portable, ses clés, ses vêtements qui étaient posés au salon et une paire de chaussures. Après une demi-heure environ, X._ est descendu dans les caves et a ouvert la porte. A._, qui était toujours cachée à cet endroit, a alors été effrayée à l'idée que son mari la rejoigne. Elle s'est enfuie en sautant par la fenêtre, s'est mal réceptionnée et s'est ainsi fait mal à la cheville. Elle a ensuite fait appel à la police lorsqu'elle a vu son époux remonter depuis les caves et se diriger vers elle. A._ a présenté plusieurs dermabrasions, ecchymoses, érythèmes, plaies superficielles et également une douleur à la marche au niveau de la cheville.
B.c. Le 18 septembre 2015, X._ a saisi le poignet de sa belle-fille B._ pour l'empêcher de téléphoner à la police comme sa mère, A._, le lui demandait. L'enfant a alors lancé son téléphone et X._ l'a poussée très violemment, avec les deux mains ouvertes au niveau des épaules, pour la faire sortir de la salle de bains dans laquelle elle se trouvait avec sa mère. Elle s'est ainsi retrouvée plaquée contre le mur. X._ a récupéré le téléphone portable de sa belle-fille et en a ôté la batterie pour éviter que l'enfant ne fasse appel à la police. B._ a présenté des traces rouges le long de la colonne vertébrale.
B.d. Le 14 janvier 2016, X._ a poussé ou frappé son ex-épouse A._ au front avec le plat de la main. Sous la violence du coup, elle a basculé en arrière. La face antérieure de son crâne a ainsi heurté le bord de l'armoire murale qui était derrière elle. A._ a présenté une bosse douloureuse au niveau pariétal droit et a été mise en arrêt de travail pendant trois jours.
B.e. A teneur de son casier judiciaire, X._ a été condamné à six reprises, les 21 janvier 2011, 21 mars 2011, 24 novembre 2011, 4 octobre 2016, 28 juillet 2017 et 20 mars 2018 pour des infractions à la circulation routière et une fois pour contravention à la LStup, à des peines respectivement de 15 jours-amende à 30 fr. avec sursis pendant trois ans, de 10 jours-amende à 30 fr., de 60 jours-amende à 20 fr., de 120 jours-amende à 30 fr., de 50 jours-amende à 30 fr. et de 90 jours-amende à 30 fr., ainsi qu'à des amendes. Il a en outre été condamné à une peine privative de liberté de 18 mois avec sursis portant sur 10 mois durant trois ans et une amende de 200 fr., prononcée le 2 octobre 2014 par le Tribunal correctionnel de l'arrondissement de Lausanne pour lésions corporelles simples qualifiées, voies de fait qualifiées, dommages à la propriété, injure, contrainte, violence ou menace contre les autorités et les fonctionnaires, opposition aux actes de l'autorité, mauvais traitements infligés aux animaux et diverses violations à la circulation routière. Cette condamnation a été confirmée le 24 mars 2015 par la Cour d'appel pénale du Tribunal cantonal vaudois et un recours contre la décision de dernière instance cantonale a été rejeté par le Tribunal fédéral le 4 mai 2016 (arrêt 6B_719/2015).
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 28 novembre 2018, concluant, avec suite de frais et dépens, principalement à sa libération de l'infraction de mise en danger de la vie d'autrui, à sa condamnation à une peine privative de liberté d'ensemble de 24 mois au plus et à la réduction sensible des frais mis à sa charge pour la procédure cantonale, subsidiairement à l'annulation du jugement attaqué et au renvoi de la cause à la Cour d'appel pénale du Tribunal cantonal vaudois pour nouvelle décision dans le sens des considérants.
D.
Invités à se déterminer sur le recours, la cour cantonale y a renoncé et s'est référée au jugement entrepris, tandis que le ministère public a conclu à son rejet dans la mesure où il s'en prend au verdict de culpabilité et s'en est remis à justice en ce qui concerne la fixation de la peine.

Considérant en droit :
1.
Le recourant s'en prend à sa condamnation pour mise en danger de la vie d'autrui en lien avec l'épisode du 23 décembre 2014. Dans un premier moyen, il se plaint de l'irrégularité de l'acte d'accusation du 10 novembre 2017 en tant que celui-ci propose deux versions des faits alternatives (<ref-law>).
Il n'apparaît pas que le recourant ait soulevé devant l'autorité précédente le grief de vice formel qu'il soumet aujourd'hui au Tribunal fédéral. Faute d'épuisement des instances cantonales, son moyen est irrecevable (<ref-law>; cf. arrêt 6B_1089/2018 du 24 janvier 2019 consid. 3).
2.
Invoquant la violation du principe in dubio pro reoet l'établissement arbitraire des faits s'agissant de l'altercation du 23 décembre 2014, le recourant reproche à la cour cantonale d'avoir retenu qu'il avait placé le couteau sous la gorge de l'intimée.
2.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (<ref-ruling> consid. 2.3.1 p. 244). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des conclusions insoutenables (<ref-ruling> consid. 1.1 p. 503; <ref-ruling> consid. 2.3 p. 266 et les références citées). Le Tribunal fédéral n'entre ainsi pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 2.4 p. 368).
Lorsque l'autorité cantonale a forgé sa conviction quant aux faits sur la base d'un ensemble d'éléments ou d'indices convergents, il ne suffit pas que l'un ou l'autre de ceux-ci ou même chacun d'eux pris isolément soit à lui seul insuffisant. L'appréciation des preuves doit en effet être examinée dans son ensemble. Il n'y a ainsi pas d'arbitraire si l'état de fait retenu pouvait être déduit de manière soutenable du rapprochement de divers éléments ou indices. De même, il n'y a pas d'arbitraire du seul fait qu'un ou plusieurs arguments corroboratifs sont fragiles, si la solution retenue peut être justifiée de façon soutenable par un ou plusieurs arguments de nature à emporter la conviction (arrêts 6B_1339/2018 du 21 février 2019 consid. 2.1; 6B_1154/2017 du 27 avril 2018 consid. 1.1).
La présomption d'innocence, garantie par les <ref-law>, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe " in dubio pro reo ", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large (<ref-ruling> consid. 2.2.3.1 p. 349 s.; <ref-ruling> consid. 2a p. 40 s.). Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence au principe " in dubio pro reo ", celui-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (<ref-ruling> consid. 2.2.3.3 p. 351 s.; <ref-ruling> consid. 1.1 p. 503; <ref-ruling> consid. 7 p. 82).
2.2. Le recourant se limite essentiellement à opposer son appréciation des moyens de preuve à celle de l'autorité cantonale. Il en va ainsi lorsqu'il affirme que les déclarations de l'intimée ne sont pas constantes et que le rapport du Centre universitaire romand de médecine légale (CURML) du 13 février 2015 ne permet pas de tirer des conclusions certaines quant à l'origine des lésions constatées sur le cou de l'intimée. Cette démarche est appellatoire, partant irrecevable dans cette mesure (consid. 2.1 supra).
Au demeurant, et quoi qu'en dise le recourant, il apparaît que le tribunal de première instance, puis la cour cantonale, qui ont entendu les parties, n'ont pas retenu de manière systématique la version de l'intimée, puisque celle-ci a été écartée en lien avec certaines infractions (viol et menaces qualifiées). En rapport avec l'infraction de mise en danger et sur la question précise de savoir si le recourant avait placé le couteau sous la gorge de l'intimée, la cour cantonale s'est référée à la décision des juges de première instance. Ceux-ci ont premièrement apprécié la crédibilité des déclarations des parties au regard de leur cohérence intrinsèque. Ils ont constaté que le recourant avait beaucoup varié dans ses explications, qui paraissaient en outre incongrues sur certains points, tandis que l'intimée, qui avait certes manqué de constance, avait néanmoins confirmé qu'elle avait eu peur pour sa vie, alors que l'objet était sur son cou, ou à une très proche proximité. Deuxièmement, ils ont mis les déclarations des protagonistes en perspective avec la personnalité dépendante et évitante de l'intimée, de l'amour qu'elle portait au recourant et du fait que la seule fois où, par le passé, elle avait fait usage d'un objet dangereux à son encontre, c'était pour se défendre. Ils ont enfin retenu que l'examen clinique de l'intimée corroborait ses déclarations, puisque les experts avaient constaté la présence de lésions sur le cou, notamment un érythème oblique, facilement explicables par une pression faite par un couteau (jugement de première instance, p. 43-45; jugement attaqué, p. 22).
Cette appréciation, qui s'appuie sur plusieurs indices convergents, n'apparaît pas insoutenable. En particulier, les déductions tirées du rapport du CURML ne sont pas arbitraires, dès lors que les experts ont conclu que la dermabrasion sur le cou de l'intimée pouvait être la conséquence de l'application de la pointe d'un couteau contre la peau, même s'il n'était pas possible d'exclure un autre mécanisme à l'origine de la lésion, et que " le tableau lésionnel est pour l'essentiel compatible avec les déclarations de l'intéressée " (rapport du CURML du 13 février 2017, p. 7-8).
Partant, le grief d'arbitraire dans l'établissement des faits est infondé dans la mesure où il est recevable.
3.
Le recourant conteste la réalisation des éléments constitutifs de l'infraction de mise en danger de la vie d'autrui.
3.1. Aux termes de l'<ref-law>, celui qui, sans scrupules, aura mis autrui en danger de mort imminent sera puni d'une peine privative de liberté de cinq ans au plus ou d'une peine pécuniaire.
Le danger au sens de l'<ref-law> suppose un risque concret de lésion, c'est-à-dire un état de fait dans lequel existe, d'après le cours ordinaire des choses, la probabilité ou un certain degré de possibilité que le bien juridique soit lésé, sans toutefois qu'un degré de probabilité supérieur à 50% soit exigé (<ref-ruling> consid. 2b p. 70; arrêt 6B_876/2015 du 2 mai 2016 consid. 2.1 non publié aux <ref-ruling>). Il doit en outre s'agir d'un danger de mort, et non pas seulement d'un danger pour la santé ou l'intégrité corporelle (<ref-ruling> consid. 5.1 p. 8; arrêt 6B_876/2015 précité consid. 2.1). Enfin, il faut que le danger soit imminent. La notion d'imminence n'est pas aisée à définir. Elle implique en tout cas, outre la probabilité sérieuse de la réalisation du danger concret, un élément d'immédiateté qui se caractérise moins par l'enchaînement chronologique des circonstances que par le lien de connexité direct unissant le danger et le comportement de l'auteur (<ref-ruling> consid. 2b p. 70; arrêt 6B_876/2015 précité consid. 2.1). L'immédiateté disparaît ou s'atténue lorsque s'interposent ou surviennent des actes ou d'autres éléments extérieurs (<ref-ruling> consid. 2a p. 14; arrêt 6B_876/2015 précité consid. 2.1). La jurisprudence retient qu'un danger de mort imminent est inhérent au maniement d'un couteau contre la gorge d'une personne (<ref-ruling> consid. 3 p. 429; <ref-ruling> consid. 2 p. 9; <ref-ruling> p. 20; plus récemment: arrêt 6B_298/2014 du 22 juillet 2014 consid. 5).
Un acte est commis sans scrupule au sens de l'<ref-law> lorsque, compte tenu des moyens utilisés, des mobiles de l'auteur et des autres circonstances, parmi lesquelles figure l'état de l'auteur, il apparaît comme contraire aux principes généralement admis des bonnes moeurs et de la morale. La mise en danger doit léser gravement le sentiment moral (<ref-ruling> consid. 2a p. 108; arrêt 6S.192/2004 du 26 août 2004 consid. 2.4). Il faut en quelque sorte qu'elle atteigne un degré qualifié de réprobation (arrêt 6S.192/2004 précité consid. 2.4). L'auteur doit avoir agi intentionnellement. Il doit avoir conscience du danger de mort imminent pour autrui et adopter volontairement un comportement qui le crée. En revanche, il ne veut pas, même à titre éventuel, la réalisation du risque, sans quoi il s'agirait d'une tentative d'homicide. Le dol éventuel ne suffit pas (<ref-ruling> consid. 3 p. 165; arrêt 6B_876/2015 précité consid. 2.1). Il conviendra ainsi d'appliquer l'<ref-law> si l'auteur adopte volontairement un comportement qui crée un danger de mort imminent pour autrui, mais refuse, même à titre éventuel, l'issue fatale. Tel sera notamment le cas lorsque l'auteur peut compter que la réalisation du danger ne se produira pas en raison d'un comportement adéquat de sa part, d'une réaction appropriée de la victime ou de l'intervention d'un tiers (arrêt 6B_835/2018 du 8 novembre 2018 consid. 1.1 et les références citées).
3.2. En ce qui concerne la réalisation des éléments constitutifs objectifs de l'infraction, l'argumentation du recourant s'épuise en une critique des faits retenus dans le jugement cantonal. Il suffit dès lors de renvoyer à ce qui a été dit ci-dessus (consid. 2). Pour le surplus, comme l'a relevé la cour cantonale, la mise en danger de la vie de l'intimée résulte de l'application contre sa gorge d'un couteau comportant une lame aiguisée, qui plus est dentelée, car toute réaction de panique aurait pu avoir des conséquences mortelles (jugement attaqué, consid. 4.3 p. 22, cf. aussi: la jurisprudence citée supra, consid. 3.1, 1er par. in fine).
3.3. Le recourant conteste également les conditions subjectives de l'infraction. C'était l'intimée qui, munie d'un couteau, l'avait initialement attaqué. En outre, elle avait déclaré à réitérées reprises que son époux avait uniquement tenté de lui prendre le couteau des mains et que ses gestes n'étaient pas intentionnels.
Dès lors que le recourant se fonde sur un état de fait qui s'écarte, sans que l'arbitraire n'ait été démontré (cf. consid. 2 supra), de celui retenu par l'autorité précédente, son grief est irrecevable. Pour le reste, il importe peu que ce soit l'intimée qui se soit munie d'un couteau et qu'elle se soit également montrée menaçante lors de l'altercation; au moment où le recourant a appliqué le couteau sur le cou de l'intimée, celle-ci était maîtrisée et immobilisée au sol; dans ces circonstances, l'appréciation de la cour cantonale selon laquelle le recourant a consciemment et volontairement mis l'intimée en danger de mort concret et imminent, ce sans scrupule, n'enfreint pas l'<ref-law>.
Pour ces motifs, la cour cantonale n'a pas violé le droit fédéral en reconnaissant le recourant coupable de mise en danger de la vie d'autrui.
4.
Le recourant critique la peine infligée.
4.1. L'<ref-law> prévoit que le juge fixe la peine d'après la culpabilité de l'auteur. Il prend en considération les antécédents et la situation personnelle de ce dernier ainsi que l'effet de la peine sur son avenir (al. 1). La culpabilité est déterminée par la gravité de la lésion ou de la mise en danger du bien juridique concerné, par le caractère répréhensible de l'acte, par les motivations et les buts de l'auteur et par la mesure dans laquelle celui-ci aurait pu éviter la mise en danger ou la lésion, compte tenu de sa situation personnelle et des circonstances extérieures (al. 2). La culpabilité de l'auteur doit être évaluée en fonction de tous les éléments objectifs pertinents, qui ont trait à l'acte lui-même, à savoir notamment la gravité de la lésion, le caractère répréhensible de l'acte et son mode d'exécution. Du point de vue subjectif, sont pris en compte l'intensité de la volonté délictuelle ainsi que les motivations et les buts de l'auteur. A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même, à savoir les antécédents, la réputation, la situation personnelle (état de santé, âge, obligations familiales, situation professionnelle, risque de récidive, etc.), la vulnérabilité face à la peine, de même que le comportement après l'acte et au cours de la procédure pénale (<ref-ruling> consid. 6.1.1 p. 66 s.).
Le juge dispose d'un large pouvoir d'appréciation dans le cadre de la fixation de la peine. Le Tribunal fédéral n'intervient que lorsque l'autorité cantonale a fixé une peine en dehors du cadre légal, si elle s'est fondée sur des critères étrangers à l'<ref-law>, si des éléments d'appréciation importants n'ont pas été pris en compte ou, enfin, si la peine prononcée est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (<ref-ruling> consid. 5.6 p. 61; arrêt 6B_293/2019 du 29 mars 2019 consid. 1.1).
4.2. Le recourant reproche à la cour cantonale de ne pas avoir appliqué l'<ref-law>, qui prévoit que le juge atténue la peine si l'auteur a été induit en tentation grave par la conduite de la victime.
Le motif d'atténuation déduit du comportement de la victime qui a induit l'auteur en tentation grave réside dans le fait que c'est le lésé qui a poussé à la commission de l'acte punissable et cela si gravement que l'auteur ne porte pas l'entière responsabilité de la décision délictueuse, une partie en incombant aussi à la victime (arrêt 6B_395/2009 du 20 octobre 2009 consid. 6.6.1 et la référence citée).
Selon l'état de fait retenu sans arbitraire par la cour cantonale (consid. 2), dans le cadre d'une dispute, l'intimée s'est munie d'un couteau car elle avait peur, sans toutefois chercher à agresser le recourant avec cette arme. Lorsqu'il a remarqué le couteau, le recourant a provoqué l'intimée en lui disant " pique-moi, pique-moi! " puis, comme elle ne réagissait pas, il l'a frappée avec une couverture. Elle a alors agité le couteau dans sa direction, avant que le recourant ne la fasse tomber par terre, ne se mette à genoux au-dessus d'elle pour l'immobiliser et n'applique le couteau, dont il était parvenu à se saisir, contre sa gorge.
Compte tenu de ce qui précède, on ne voit pas que l'intimée aurait poussé si gravement le recourant à la commission de l'acte punissable que celui-ci ne porterait pas l'entière responsabilité de la décision délictueuse. La cour cantonale n'a donc pas violé le droit fédéral en ne retenant pas la circonstance atténuante de la tentation grave.
4.3. Le recourant fait grief à la cour cantonale de ne pas avoir fixé une peine d'ensemble tenant compte de la révocation du sursis antérieur, conformément à l'<ref-law>.
4.3.1. Dans sa nouvelle teneur depuis le 1er janvier 2018, l'<ref-law> prévoit que si, durant le délai d'épreuve, le condamné commet un crime ou un délit et qu'il y a dès lors lieu de prévoir qu'il commettra de nouvelles infractions, le juge révoque le sursis ou le sursis partiel. Si la peine révoquée et la nouvelle peine sont du même genre, il fixe une peine d'ensemble en appliquant par analogie l'<ref-law>. Concrètement, le juge procède de la manière suivante: il part de la peine fixée pour l'infraction la plus grave, qu'il prononce pour les actes commis pendant le délai d'épreuve en considération des facteurs d'appréciation de la peine de l'<ref-law>. Cette peine forme la peine de base, qui peut être augmentée en vertu du principe d'aggravation (<ref-law>) pour tenir compte de la peine antérieure. En d'autres termes, la nouvelle peine, comme peine de base, est augmentée pour tenir compte de la peine révoquée selon une application par analogie du principe d'aggravation. Si la peine de base et la peine à prononcer pour les nouvelles infractions constituent de leur côté des peines d'ensemble, le juge peut, pour fixer la peine complémentaire, tenir compte de façon modérée de l'effet déjà produit de l'application du principe de l'aggravation lors de la fixation de ces peines d'ensemble (arrêt 6B_932/2018 du 24 janvier 2019 consid. 2.4 destiné à la publication).
Par ailleurs, si le juge doit prononcer une condamnation pour une infraction que l'auteur a commise avant d'avoir été condamné pour une autre infraction, il fixe la peine complémentaire de sorte que l'auteur ne soit pas puni plus sévèrement que si les diverses infractions avaient fait l'objet d'un seul jugement (<ref-law>). Face à plusieurs condamnations antérieures, il faut rattacher chacune des infractions anciennes à la condamnation qui suit la commission de l'acte délictueux; en effet, un jugement pénal doit en principe sanctionner tous les actes répréhensibles commis avant son prononcé. Le rattachement des actes anciens à la condamnation qui les suit permet de former des groupes d'infractions (<ref-ruling> consid. 2c p. 17 s.; arrêts 6B_911/2018 du 5 février 2019 consid. 1.2.2; 6B_390/2012 du 18 février 2013 consid. 4.3.1; 6B_28/2008 du 10 avril 2008 consid. 3.3.2; Sonja Koch, Asperationsprinzip und retrospektive Konkurrenz, 2013, p. 296 ss).
Le Tribunal fédéral a récemment clarifié la jurisprudence en matière de concours rétrospectif partiel (<ref-ruling>). Au lieu de recourir conjointement aux deux premiers alinéas de l'<ref-law> - comme le préconisait jusqu'ici la jurisprudence -, le juge amené à sanctionner des infractions commises antérieurement et postérieurement à un jugement précédent doit procéder en deux temps. Tout d'abord, il doit s'attacher aux infractions commises avant ledit jugement. Le juge doit examiner si, eu égard au genre de peine envisagé, une application de l'<ref-law> entre en ligne de compte (<ref-ruling> consid. 1.3 p. 8; cf. <ref-ruling> consid. 2.3.2 p. 267 s. et les références citées). Si tel est le cas, il doit fixer une peine complémentaire (Zusatzstrafe) à la peine de base (Grundstrafe) en tenant compte du principe de l'aggravation découlant de l'<ref-law> (<ref-ruling> consid. 1.3 p. 8; cf. <ref-ruling> consid. 2.4.4-2.4.6 p. 271 ss). Si, en revanche, l'<ref-law> ne peut être appliqué, ainsi parce que le genre de peine envisagé pour sanctionner les infractions antérieures au jugement diffère de celui de la sanction déjà prononcée, le juge doit retenir une peine cumulative. Ensuite, le juge considère les infractions commises postérieurement au jugement précédent, en fixant pour celles-ci une peine indépendante, le cas échéant en faisant application de l'<ref-law>. Il additionne enfin la peine complémentaire ou la peine cumulative retenue pour sanctionner la ou les infractions commises antérieurement au jugement précédent à celle retenue pour sanctionner les infractions commises postérieurement à cette décision (<ref-ruling> consid. 1.3 p. 8; arrêt 6B_911/2018 précité consid. 1.2.2).
Le Tribunal fédéral s'est aussi demandé si un tel changement de pratique était cohérent avec l'entrée en vigueur, le 1er janvier 2018, de l'<ref-law> dans sa nouvelle teneur. Il a constaté que le concours rétrospectif partiel constituait une situation particulière. Il en a dès lors conclu ce qui suit: lorsque seule une infraction postérieure au jugement précédent doit être sanctionnée, l'al. 1 de l'<ref-law> doit s'appliquer, conformément au texte de l'<ref-law>. Si, en revanche, une infraction antérieure à ce jugement doit simultanément être sanctionnée, pour autant que la sanction prononcée soit de même genre que la peine dont le sursis est révoqué, l'<ref-law> trouve application, à titre de lex specialis, de sorte que le prévenu dont le sursis est révoqué bénéficie également de l'<ref-law> pour la situation particulière qui le concerne, mais non de manière excessivement avantageuse, ce qui serait le cas si le juge devait fixer une peine d'ensemble impliquant les sanctions antérieures et postérieures au jugement précédent ainsi que la peine pour laquelle le sursis est révoqué (<ref-ruling> consid. 1.2 p. 7).
4.3.2. La présente procédure concerne plusieurs infractions. Certaines d'entre elles ont été commises en décembre 2014, alors que la condamnation précédente date du 24 mars 2015. Les autres infractions ont été commises les 18 septembre 2015 et 14 janvier 2016, soit entre la première et la seconde condamnation du recourant (du 18 mai 2018).
Après avoir examiné les éléments jugés pertinents sous l'angle de l'<ref-law>, la cour cantonale a retenu que la peine privative de liberté de 32 mois prononcée par les juges de première instance était appropriée. Cette peine était partiellement complémentaire à la peine privative de liberté de 18 mois prononcée par la cour cantonale le 24 mars 2015. Elle était en outre entièrement complémentaire à celle prononcée par le ministère public le 18 mai 2018. La cour cantonale a par ailleurs révoqué le sursis partiel octroyé le 24 mars 2015 et ordonné l'exécution du solde de peine de 10 mois de privation de liberté.
4.3.3. La méthode employée par la cour cantonale, qui consiste à fixer une peine comprenant tant les infractions postérieures qu'antérieures au jugement précédent rendu, puis à y ajouter une peine correspondant au sursis révoqué, n'est pas conforme au droit fédéral (consid. 4.3.1 supra). La cour cantonale n'a pas distingué les différentes infractions retenues ni motivé le choix du genre de peine. C'est en outre à raison que le recourant lui reproche d'avoir cumulé la peine dont le sursis a été révoqué, au lieu de prononcer une peine d'ensemble comprenant ce sursis révoqué, cela alors qu'elle retient en définitive une sanction du même genre (soit une peine privative de liberté). Par ailleurs, la peine infligée le 18 mai 2018 par le ministère public était une peine pécuniaire de 120 jours-amende, soit une peine d'un autre genre de celle prononcée par la cour cantonale. Elle ne pouvait donc pas faire l'objet d'une peine d'ensemble.
Il s'ensuit que la cour cantonale devra à nouveau procéder à la fixation de la peine. Pour cela, elle doit tout d'abord former des groupes d'infractions en rattachant les actes anciens à la condamnation qui les suit. Le premier groupe sera ainsi constitué des infractions commises les 6 et 23 décembre 2014 et jugées dans le jugement du 24 mars 2015, tandis que le second groupe comprendra les infractions commises les 18 septembre 2015 et 14 janvier 2016 ainsi que celles jugées dans l'ordonnance du 18 mai 2018. La cour cantonale motivera le genre et la quotité de la peine pour chaque infraction et déterminera dans quelle mesure il y a lieu de prononcer une peine, voire des peines complémentaires ou prononcer une, voire des peines cumulatives (cf. art. 47, 49 al. 1 et 2 et 50 CP). A noter encore que l'<ref-law> l'emporte sur l'art. 46 al. 1 deuxième phrase CP à titre de lex specialis : puisque le sursis (partiel) révoqué se rapporte à la peine du jugement rendu antérieurement, le principe d'aggravation s'applique déjà - à supposer que les peines soient du même genre - en vertu du concours rétrospectif.
En tout état, la cour cantonale veillera à fixer une peine dans le respect de l'interdiction de la reformatio in pejus (cf. <ref-ruling> consid. 4.1 p. 472; <ref-ruling> consid. 2 p. 90) et tiendra compte, cas échéant, de la limite prévue à l'<ref-law> en ce qui concerne la peine pécuniaire.
L'admission de ce grief rend sans objet la critique du recourant sur la sévérité de la peine prononcée.
5.
Au vu de ce qui précède, le recours doit être partiellement admis, le jugement entrepris annulé s'agissant de la fixation de la peine et la cause renvoyée à la cour cantonale pour qu'elle se prononce sur ce point. Pour le surplus, le recours doit être rejeté dans la mesure où il est recevable.
Le recourant, qui obtient partiellement gain de cause, supportera une partie des frais judiciaires (art. 66 al. 1 et 4 LTF). Il peut prétendre à des dépens réduits, à la charge du canton de Vaud (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis. Le jugement attaqué est annulé s'agissant de la fixation de la peine et la cause renvoyée à la cour cantonale pour nouvelle décision sur ce point. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
Une partie des frais judiciaires, arrêtée à 1500 fr., est mise à la charge du recourant.
3.
Le canton de Vaud versera au recourant une indemnité de 1500 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 17 mai 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy