Faits :
A.
Par jugement du 22 janvier 2018, le Tribunal criminel de l'arrondissement de Lausanne a libéré X._ du chef d'accusation d'assassinat, a constaté qu'il s'était rendu coupable de meurtre et de contravention à la LStup et l'a condamné à une peine privative de liberté de 12 ans, sous déduction de 276 jours de détention avant jugement et de 652 jours en régime d'exécution anticipée de peine, et à une amende de 200 fr., la peine privative de liberté de substitution étant de deux jours en cas de non-paiement de l'amende. Il a également condamné le recourant à payer des indemnités à titre de réparation du tort moral aux parties plaignantes.
B.
Par jugement du 12 juillet 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel de X._ et admis partiellement ceux du Ministère public et des parties plaignantes. Elle a réformé le jugement entrepris en ce sens que X._ est condamné à une peine privative de liberté de 15 ans, sous déduction de 276 jours de détention avant jugement et de 652 jours en régime d'exécution anticipée de peine, et à une amende de 200 francs. Elle a également modifié le montant des indemnités pour tort moral allouées aux parties plaignantes. Elle a confirmé le jugement entrepris pour le surplus.
Elle s'est fondée en substance sur les faits suivants.
B.a. A._, née en 1975, mère d'un enfant âgé de 20 ans, et X._, né en 1977, père d'une enfant âgée de 12 ans, tous deux de nationalité portugaise, ont noué une relation sentimentale au Portugal en décembre 2011. Ils se sont connus alors que A._ travaillait dans « des boîtes de rencontre », endroits dans lesquels elle se prostituait. Leur relation - faite d'amour et de haine - a connu des périodes avec des hauts et des bas. Des tensions sont rapidement apparues au sein du couple. Le caractère des intéressés, les problèmes d'argent et la dégradation de leur vie en lien avec la consommation d'alcool et de drogue sont venus accroître ces tensions. Les altercations, majoritairement verbales, mais parfois aussi physiques - de part et d'autre - étaient fréquentes. Les deux amants se sont quittés, puis réconciliés plusieurs fois.
En début d'année 2015, A._ est partie en Suisse pour y travailler. Selon sa famille, le motif de ce départ était dû à son souhait de changer de vie, de se libérer et de s'éloigner de X._. Elle a envoyé de l'argent à X._ les 20 et 23 mars 2015, ainsi qu'à sa famille. Au mois de mai 2015, A._ est retournée momentanément au Portugal notamment pour y voir son fils et elle y a aussi rencontré X._. Le 22 mai 2015, elle est repartie en Suisse. X._, qui ignorait dans un premier temps où se trouvait précisément A._, l'a finalement rejointe en Suisse trois semaines avant les faits du 10 juillet 2015. A partir du 3 juillet 2015, ils se sont installés ensemble dans une chambre du salon de massage " B._ ". Il était prévu que A._ se prostitue d'une part seule à cet endroit, mais aussi en couple avec X._.
B.b. Dans la soirée du 9 juillet 2015, une dispute a éclaté entre X._ et A._. Cette dernière voulait que X._ quitte les lieux. Le gérant du salon, C._, a dû intervenir. A._ a frappé X._ au moyen d'un fouet en le traitant de voleur, d'arnaqueur et en lui disant qu'il ne valait rien. Elle lui a reproché d'avoir dépensé l'argent qu'elle avait gagné pour entretenir une relation sexuelle avec une prostituée qui occupait une chambre dans le même salon. X._ a donné deux coups avec sa main droite à A._. Le gérant du salon a demandé à X._ de partir mais celui-ci est revenu à plusieurs reprises dans la nuit, le gérant l'empêchant d'entrer. Il a tenté à de nombreuses reprises de téléphoner à A._. Alors que X._ se trouvait à l'extérieur de l'immeuble, il s'est encore disputé avec A._ qui était à la fenêtre. Tous deux se sont mutuellement insultés et X._ a réclamé ses effets personnels. Il a ensuite discuté avec un locataire de l'immeuble qui l'a fait rentrer un peu plus tard dans son appartement. X._ y a consommé seul de la cocaïne et a expliqué qu'il ne savait pas où aller dormir. Il a quitté cet endroit vers 02h30-03h00 après s'être fait remettre une veste à capuche de couleur grise et une couverture. Il a passé le reste de la nuit à l'extérieur.
B.c. Le vendredi 10 juillet 2015, vers 12h50, X._ est retourné au salon de massage, est entré dans l'appartement et s'est dirigé dans la chambre qu'il occupait avec A._. Une nouvelle dispute a éclaté et la prénommée lui a crié de sortir. X._ l'a frappée à coups de poing et de tête. Le gérant est intervenu pour les séparer. A._ a frappé à son tour X._ au moyen de câbles téléphoniques pendant que ce dernier faisait lentement sa valise. Elle l'a traité de voleur, de fainéant, de profiteur, ce qu'il a contesté. Le gérant a dû insister pour que X._ quitte le salon de massage.
X._ a ensuite erré dans la rue. Il est entré dans une brasserie. Il était à la recherche d'un couteau, selon lui pour lui permettre d'ouvrir son sac à dos dont la fermeture éclair était coincée. Le serveur lui a remis un couteau à pizza avec un bout arrondi. X._ a alors répondu qu'il voulait un couteau de cuisine et il est reparti sans que le serveur lui ait remis un tel objet. Aux environs de 15h30, X._ est revenu au salon de massage mais a été à nouveau chassé par le gérant. Au cours de l'après-midi, des messages téléphoniques entre X._ et A._ ont été échangés et celui-ci l'a appelée à de nombreuses reprises. Lors d'un message envoyé à 15h03, A._ a signifié à X._ qu'elle n'écouterait pas ses messages vocaux et qu'elle ne consulterait plus ses sms. A 16h58, X._ a écrit le message suivant à A._, qui ne lui répondait plus : « Répond ce sont mes 2 derniers jours après tu vas comprendre ». Puis, à 17h14, il lui a adressé un dernier sms, lui écrivant ce qui suit: « Pardonne-moi pour ce que je vais faire mais c'est rien pour tes proches au sérieux tu sais ce point où l'on a plus rien à perdr e et que la vie vaut 0 j'en suis là avec ce que tu m'as dit en plus cette dame sait parfaitement qu'on a seulement parlé c'est ça qui me rend plus.... ».
Vers 17h40, au fond de la cour de l'immeuble abritant le salon de massage " B._ ", X._ était couché sur la gauche d'un fourgon blanc de manière à guetter discrètement les allées et venues de A._. A 17h41, celle-ci est sortie de l'immeuble pour aller s'acheter des cigarettes au kiosque. Apercevant A._, X._ s'est levé et s'est dirigé d'un pas déterminé pour suivre la prénommée.
B.d. Muni d'un couteau de cuisine qu'il avait finalement pu se procurer dans des circonstances indéterminées et qu'il tenait caché, X._ a fini par rejoindre A._. Celle-ci est entrée seule dans le kiosque, X._ l'attendant à l'extérieur. Elle a acheté des cigarettes et une bouteille de vodka, puis est sortie du kiosque. X._ et A._ ont cheminé côte à côte. Alors qu'ils discutaient, A._ a dit quelque chose à X._ qui lui a répondu en haussant la voix. Puis, X._ a infligé sept coups à A._ au moyen du couteau qu'il détenait, avant qu'elle ne tombe au sol.
X._ a donné un premier coup à A._ à la hauteur du cou du côté droit, ce qui a eu pour effet de la faire vaciller vers la route, sans toutefois la faire tomber, un bus et un véhicule ayant dû faire un écart pour l'éviter. L'intéressé a ensuite assené un autre coup à A._ au niveau du ventre. D._, une passante qui se trouvait à quelques mètres de la prénommée et de X._, a vu la scène et a interpellé ce dernier, qui l'a regardée avec des yeux exorbités, droit dans les yeux, en faisant mine de faire un pas en avant dans sa direction. D._ a pris peur et a traversé l'avenue en courant, puis l'a retraversée à nouveau plus loin pour se réfugier dans le kiosque. Au moment de traverser la route pour la première fois, D._ a vu A._ tomber au sol, X._ étant encore debout et ne présentant aucune blessure. Alors que A._ était tombée au sol sur la voie de circulation, X._ s'est infligé lui-même un coup de couteau au niveau du cou et est tombé à terre sur le trottoir. A l'arrivée des premiers passants, A._ s'étouffait avec son sang et n'a bougé qu'une à deux fois. Elle est décédée sur les lieux vers 18h00 après une vaine tentative de réanimation. L'hémorragie consécutive à trois plaies majeures a entraîné son décès. X._ a été conduit en ambulance aux urgences de l'hôpital E._. Il présentait alors une plaie cervicale droite hémorragique et a été admis au bloc opératoire pour une cervicotomie exploratrice. La plaie cutanée était d'environ 2,5 cm de profond juste en dessous de la glande salivaire sous-maxillaire droite, d'une longueur d'environ 10 cm.
B.e. En cours d'enquête, X._ a été soumis à une expertise psychiatrique, confiée aux Drs F._ et G._ du Département de psychiatrie de l'hôpital E._.
Dans leur rapport du 8 mars 2016, les experts ont posé le diagnostic de trouble mixte de la personnalité, d'utilisation nocive pour la santé de substances psychoactives multiples et de probables antécédents de jeu excessif. Ils ont relevé que le premier diagnostic correspondait chez l'expertisé à des traits narcissiques, borderline, antisociaux et histrioniques. L'expertisé montrait un sens grandiose de sa propre importance ainsi qu'un besoin excessif d'être admiré et faisait preuve d'une capacité d'empathie limitée. Les médecins soulignaient aussi une impulsivité concernant par exemple le registre des dépenses et du jeu excessif ou les modalités de consommation de substances toxiques. A cela s'ajoutait une dimension abandonnique sur le plan relationnel marquée par la peur du rejet. Les experts ont noté chez l'expertisé une certaine tendance à l'expression exagérée des émotions conjointement à une attitude de déresponsabilisation et d'irrespect des règles, ainsi qu'une faible tolérance à la frustration et une tendance marquée à rejeter la faute sur les autres. Ils relevaient encore la manifestation d'un seuil faible à la décharge de l'agressivité et une difficulté de gestion des impulsions, qui se manifestait à la fois par des antécédents de sa pathologie et par une consommation nocive pour la santé de substances psychoactives multiples.
Pour ce qui concernait l'appréciation de la responsabilité pénale, les experts ont estimé nécessaire de prendre en compte, d'une part, l'aspect du trouble de la personnalité, notamment sa dimension impulsive, et, d'autre part, l'effet des substances consommées, le cas échéant. Concernant ces dernières, l'expertise se référait au rapport toxicologique du 29 septembre 2015 selon lequel la concentration de benzodiazépines mesurée dans le sang se situait à l'intérieur de la fourchette des valeurs observées lors d'une consommation de cocaïne à des fins récréatives devant dater de moins de 24 heures précédant le prélèvement et les concentrations d'Alprazolam et d'hydroxie Alprazolam mesurées dans le sang se situaient dans la fourchette des valeurs thérapeutiques, le dosage de l'alcool éthylique révélant un résultat de 0,14 g/kg. Selon les médecins, ces diverses valeurs étaient compatibles avec les explications de l'expertisé, dès lors que les quantités consommées ne paraissaient pas sortir des marges habituelles de consommation de l'intéressé. Les experts relevaient toutefois que la cocaïne était connue pour favoriser les manifestations d'impulsivité, en particulier en cas d'association à d'autres substances, et que, dans la mesure où l'expertisé présentait une tendance à l'impulsivité, celle-ci avait pu être potentialisée par les substances décrites. En conclusion, les experts ont estimé que ces divers éléments, considérés dans leur totalité, n'étaient pas de nature à limiter la capacité de l'expertisé à apprécier le caractère illicite de ses actes; ces éléments avaient en revanche pu contribuer à atténuer légèrement sa capacité à se déterminer. Les experts ont donc retenu une légère diminution de la responsabilité pénale.
Enfin, les experts ont considéré qu'il existait un risque moyen de récidive d'actes de violence chez l'expertisé compte tenu de ses antécédents, de l'impulsivité qu'il présentait et de sa tendance à la consommation de substances psychoactives. Les experts n'ont pas proposé de traitement particulier de type psychothérapeutique ou en lien avec les addictions évoquées.
C.
X._ forme un recoursen matière pénale au Tribunal fédéral contre la décision cantonale et conclut, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est condamné à une peine privative de liberté d'une durée de 9 ans ainsi qu'à une amende, subsidiairement à l'annulation du jugement attaqué et au renvoi de la cause à la cour cantonale pour nouvelle décision. Il sollicite par ailleurs l'assistance judiciaire.

Considérant en droit :
1.
Le recourant critique uniquement la quotité de la peine.
1.1. Selon l'art. 47 CP, le juge fixe la peine d'après la culpabilité de l'auteur. Celle-ci 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 (objektive Tatkomponente); 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 (subjektive Tatkomponente). A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même (Täterkomponente), à savoir les antécédents (judiciaires et non judiciaires), 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.; <ref-ruling> consid. 5 p. 57 ss; <ref-ruling> consid. 2.1 p. 19 s.).
1.2. 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'art. 47 CP, 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 (ATF <ref-ruling> consid. 5.6 p. 61). L'exercice de ce contrôle suppose que le juge exprime, dans sa décision, les éléments essentiels relatifs à l'acte ou à l'auteur dont il tient compte, de manière à ce que l'on puisse constater que tous les aspects pertinents ont été pris en considération et comment ils ont été appréciés, que ce soit dans un sens aggravant ou atténuant (art. 50 CP; ATF <ref-ruling> consid. 2.1 p. 20 et les arrêts cités). Le juge peut passer sous silence les éléments qui, sans abus du pouvoir d'appréciation, lui apparaissent non pertinents ou d'une importance mineure. La motivation doit justifier la peine prononcée, en permettant de suivre le raisonnement adopté. Un recours ne saurait toutefois être admis simplement pour améliorer ou compléter un considérant lorsque la décision rendue apparaît conforme au droit (ATF <ref-ruling> consid. 5.6 p. 61; arrêt 6B_111/2015 du 3 mars 2016 consid. 2.2, non publié aux <ref-ruling>).
1.3. Selon l'art. 19 al. 2 CP, le juge atténue la peine si, au moment d'agir, l'auteur ne possédait que partiellement la faculté d'apprécier le caractère illicite de son acte ou de se déterminer d'après cette appréciation.
Le juge dispose d'un large pouvoir d'appréciation lorsqu'il détermine l'effet de la diminution de la responsabilité sur la faute (subjective) au vu de l'ensemble des circonstances. Il peut appliquer l'échelle habituelle: une faute (objective) très grave peut être réduite à une faute grave à très grave en raison d'une diminution légère de la responsabilité. La réduction pour une telle faute (objective) très grave peut conduire à retenir une faute moyenne à grave en cas d'une diminution moyenne et à une faute légère à moyenne en cas de diminution grave. Sur la base de cette appréciation, le juge doit prononcer la peine en tenant compte des autres critères de fixation de celle-ci. Un tel procédé permet de tenir compte de la diminution de la responsabilité sans lui attribuer une signification excessive (ATF <ref-ruling> consid. 5.6 p. 62).
En bref, le juge doit procéder comme suit en cas de diminution de la responsabilité pénale: dans un premier temps, il doit décider, sur la base des constatations de fait de l'expertise, dans quelle mesure la responsabilité pénale de l'auteur est restreinte sur le plan juridique et comment cette diminution se répercute sur l'appréciation de la faute. La faute globale doit être qualifiée et, au regard de l'art. 50 CP, le juge doit expressément mentionner le degré de gravité à prendre en compte. Dans un deuxième temps, il lui incombe de déterminer la peine hypothétique qui correspond à cette faute. La peine ainsi fixée peut ensuite être, le cas échéant, modifiée en raison de facteurs liés à l'auteur (Täterkomponente) ainsi qu'en raison d'une éventuelle tentative selon l'art. 22 al. 1 CP (ATF <ref-ruling> consid. 5.7 p. 62 s.).
1.4. La cour cantonale a considéré que la faute du recourant était extrêmement lourde. Le recourant s'en était pris sauvagement à A._ parce qu'il n'avait pas supporté qu'elle ait décidé de rompre définitivement avec lui. Il l'avait exécutée en lui infligeant rapidement sept coups de couteau jusqu'à ce qu'elle s'affaisse et tombe au sol. Il avait asséné plus de coups qu'il n'était nécessaire pour la tuer. Pour ce faire, il avait pris la peine de se munir d'un couteau. Le recourant avait agi pour un mobile égoïste et futile. Il avait préféré ôter la vie, anéantissant toute une famille et rendant un jeune homme orphelin, plutôt que d'accepter le terme d'une relation, au demeurant hautement toxique et destructrice. Après l'acte et durant la procédure, il avait minimisé ses actes et tenté de manière odieuse de faire porter la responsabilité de ceux-ci sur la victime, voire même d'inverser les rôles en présentant la victime comme ayant essayé de le tuer. La cour cantonale relevait en outre qu'à l'audience d'appel, le recourant, qui avait fait très mauvaise impression, avait déclaré qu'il avait asséné les coups de couteau parce que la victime l'avait provoqué en disant que sa fille serait une prostituée, une telle provocation, si tant est qu'elle ait été faite, ne justifiant assurément pas de causer la mort. Le comportement du recourant démontrait une absence crasse d'empathie et de prise de conscience. Il dénotait en outre un manque d'égards évident vis-à-vis de la famille de la victime, encore trois ans après les faits. Enfin, le recourant avait quatre antécédents dans son pays d'origine. Il avait été condamné à une reprise pour s'en être pris à l'intégrité physique d'une personne et une autre fois pour s'être adonné au trafic de stupéfiants, condamnation pour laquelle il s'était vu infligé une lourde peine privative de liberté.
Ainsi, pour la cour cantonale, une peine située dans le dernier quart de l'échelle des sanctions (5 à 20 ans; art. 111 CP en corrélation avec l'art. 40 CP) apparaissait en l'occurrence adéquate. Au regard de la diminution légère de responsabilité relevée par les experts, la faute du recourant devait être qualifiée de lourde à extrêmement lourde. Dans ces conditions, et contrairement à ce qu'avaient retenu les premiers juges, il y avait lieu de considérer qu'une peine de 16 à 17 ans réprimait de manière appropriée le crime perpétré par le recourant et tenait compte de la légère diminution de responsabilité. A décharge, on pouvait prendre en considération le fait que le recourant s'était automutilé sévèrement sitôt l'homicide achevé en prenant le risque de s'ôter la vie par égorgement. Son comportement correct en détention n'avait rien de particulièrement méritoire et ne constituait ainsi pas un élément à décharge. On ne discernait aucun autre élément à décharge. En définitive, le recourant devait être condamné à une peine privative de liberté de 15 ans.
2.
Le recourant se plaint d'un défaut de motivation.
2.1. Il soutient tout d'abord que les motifs exposés par la cour cantonale ne lui permettent pas de comprendre à satisfaction de droit le cheminement adopté par cette autorité pour déterminer sa faute et la peine privative de liberté prononcée à son encontre.
Par cette seule allégation, le recourant n'explique pas en quoi la motivation de sa peine ne serait pas conforme au droit. Insuffisamment motivé, ce grief est irrecevable (art. 42 al. 2 LTF).
2.2. Le recourant reproche à la cour cantonale d'avoir qualifié sa faute de lourde à extrêmement lourde en retenant une diminution légère de sa responsabilité au moment de l'acte sans expliquer les raisons pour lesquelles une faute moins lourde encore ne pouvait pas être retenue.
La cour cantonale a appliqué l'échelle habituelle (consid. 1.3 supra) en considérant qu'une diminution légère de la responsabilité appliquée à une faute extrêmement lourde conduisait à retenir une faute extrêmement lourde à lourde. Aucune explication supplémentaire n'était nécessaire.
2.3. Le recourant critique également la motivation cantonale en ce sens que les éléments en lien avec son comportement en cours de procédure (Täterkomponente) sont mélangés, dans un même paragraphe, avec des éléments relatifs à l'acte lui-même (Tatkomponente). Il n'est dès lors pas possible de savoir sur quels critères la cour cantonale s'est fondée pour évaluer sa faute objective.
Il est vrai que la cour cantonale a traité du comportement du recourant durant la procédure ainsi que de ses antécédents, qui relèvent des facteurs liés à l'auteur (cf. consid. 1.1), dans un paragraphe pour le surplus consacré à l'appréciation des éléments relatifs à l'acte. En retranchant ces deux " Täterkomponente " de l'appréciation des " Tatkomponente ", on comprend que la cour cantonale s'est fondée sur le mode d'exécution de l'acte, sur ses conséquences pour la famille de la victime, ainsi que sur les motivations et la préparation du recourant pour évaluer sa culpabilité. La question de savoir si ces éléments suffisent à considérer la faute comme étant extrêmement lourde sera examinée ci-après (consid. 3 infra). Quoi qu'il en soit, le jugement cantonal permet de constater quels aspects pertinents ont été pris en considération et comment ils ont été appréciés, que ce soit dans un sens aggravant ou atténuant. Il ne se justifie donc pas d'annuler le jugement attaqué au motif d'un défaut de motivation, le recourant n'ayant pas été empêché d'attaquer le jugement cantonal efficacement.
3.
Le recourant critique la fixation de la peine.
3.1. Il soutient que la cour cantonale s'est contredite en comparant, d'une part, sa manière d'agir à une exécution, et en constatant, d'autre part, qu'il avait agi spontanément et sans plan préétabli. Il relève également qu'en prenant en compte plusieurs éléments à décharge qui n'avaient pas été retenus par le Tribunal criminel, la cour cantonale a procédé, en fin de compte, à une appréciation plus sévère de la situation en aggravant la peine par rapport au jugement de première instance.
On comprend du jugement attaqué que l'absence de planification de l'acte relève de l'examen de la préméditation, que la cour cantonale a exclue, alors que la comparaison avec une exécution s'applique au passage à l'acte, à savoir le fait que le recourant a infligé rapidement sept coups de couteau jusqu'à ce que la victime s'affaisse et tombe au sol. Le jugement n'est en cela nullement contradictoire.
Par ailleurs, la cour cantonale n'est pas liée par l'appréciation de la culpabilité des juges de première instance, de sorte qu'un abus de son pouvoir d'appréciation ne saurait résulter du seul fait que son appréciation diffère de celle des premiers juges (cf. art. 398 al. 2 CPP; arrêt 6B_445/2015 du 26 janvier 2016 consid. 3.2). Tel que formulé, ce reproche est sans fondement.
3.2. Selon le recourant, si la cour cantonale a constaté les tensions qui existaient au sein du couple qu'il formait avec la victime, elle en a toutefois fait fi dans l'appréciation de sa faute.
La cour cantonale a détaillé, dans son état de fait, la relation entre le recourant et la victime et elle n'a pas manqué de rappeler sa nature " hautement toxique et destructrice " au moment d'examiner la culpabilité. En tant que le recourant évoque en particulier de " multiples vexations et humiliations " commises par la victime à son endroit, il s'écarte sans droit de l'état de fait cantonal, qui lie le Tribunal fédéral (art. 105 al. 1 LTF). En particulier, la cour cantonale a retenu que le recourant s'en était pris à la victime parce qu'il n'avait pas supporté qu'elle le quitte, non parce qu'il aurait été gravement humilié. Quant à la remarque que la victime aurait faite au recourant avant qu'il ne passe à l'acte, à savoir que sa fille deviendrait une prostituée, la cour cantonale a considéré que même en l'admettant, elle ne justifiait assurément pas de causer la mort. En définitive, il n'apparaît pas que la cour cantonale aurait manqué de tenir compte du contexte relationnel entre le recourant et la victime lorsqu'elle a évalué sa culpabilité.
3.3. Le recourant reproche à la cour cantonale d'avoir tenu compte de son comportement postérieur à la commission de l'infraction dans l'appréciation de sa culpabilité objective et subjective.
Il est vrai que le comportement adopté après l'acte et en cours de procédure relève des facteurs propres à l'auteur (consid. 1.1 et 2.3 supra). La cour cantonale aurait donc dû en tenir compte dans un troisième temps, soit après avoir qualifié la faute puis l'avoir appréciée au regard de la diminution de responsabilité (consid. 1.2 supra). Cependant, puisque cet élément à charge n'a pas été repris une seconde fois dans l'examen des facteurs propres à l'auteur, la peine n'a pas été fixée plus sévèrement que si la cour cantonale avait procédé à son analyse dans l'ordre prescrit par l'art. 47 CP et la jurisprudence y relative.
3.4. Le recourant soutient que l'absence d'empathie et la tendance à faire porter la responsabilité de ses actes sur les autres font partie des éléments caractéristiques du trouble de la personnalité diagnostiqué par les experts. Ces circonstances liées à son trouble ont une incidence sur la peine hypothétique en plus de justifier une réduction légère de responsabilité. Elles ont toutefois été ignorées, voire pas suffisamment prises en compte dans le jugement attaqué.
Les caractéristiques du trouble de la personnalité dont souffre le recourant ont été prises en considération dans le cadre de sa diminution de responsabilité, qui a conduit à requalifier la faute. Il n'y a pas lieu de tenir compte de son trouble une seconde fois dans l'appréciation de la faute.
3.5. En ce qui concerne les éléments propres à l'auteur, le recourant affirme que seuls les antécédents qui ont une relation directe avec l'acte reproché et qui sont révélateurs de la personnalité de l'auteur méritent d'être pris en considération. Par cette seule allégation, il ne formule pas encore un grief recevable à l'encontre du jugement attaqué, faute de discuter ses considérants (cf. art. 42 al. 2 LTF). Pour le reste, la cour cantonale n'a pas violé le droit fédéral en relevant que parmi les quatre antécédents du recourant, l'un concernait une condamnation pour s'en être pris à l'intégrité physique d'une personne et un autre pour s'être adonné au trafic de stupéfiants, comportement pour lequel il s'était vu infligé une lourde peine privative de liberté (4 ans et demi). Le premier révèle que le recourant avait déjà fait preuve de violence envers autrui, et le second tend à indiquer une certaine insensibilité à la sanction pénale.
3.6. Enfin, le recourant soutient que sa situation personnelle aurait dû être prise en compte, en particulier le fait qu'il est le père d'une fillette qui sera de toute évidence impactée par la peine infligée à son père.
Il est inévitable que l'exécution d'une peine ferme d'une certaine durée ait des répercussions sur la vie professionnelle et familiale du condamné. Ces conséquences ne peuvent conduire à une réduction de la peine qu'en cas de circonstances extraordinaires (arrêts 6B_780/2018 du 9 octobre 2018 consid. 2.1; 6B_352/2018 du 27 juillet 2018 consid. 4.1.2).
En l'espèce, la situation du recourant, en tant que père d'un enfant mineur, n'a rien d'extraordinaire, de sorte que c'est à raison que la cour cantonale n'en a pas tenu compte dans la fixation de la peine.
3.7. En définitive, le recourant ne cite aucun élément important, propre à modifier la peine, qui aurait été omis ou pris en considération à tort par la cour cantonale. Compte tenu des facteurs mis en exergue par la cour cantonale, il n'apparaît pas que la qualification de la faute globale comme étant extrêmement lourde soit excessive. La cour cantonale a ainsi retenu que le mobile était égoïste et futile car le recourant n'avait pas supporté que la victime le quitte dans le contexte d'une relation toxique, et que l'acte était particulièrement violent et cruel, le recourant ayant infligé sept coups de couteau. Si la préméditation a été écartée, il fallait néanmoins observer que le recourant avait pris la peine de se munir d'un couteau avant d'aller à la rencontre de la victime.
Compte tenu d'une diminution légère de la responsabilité pénale, qui conduisait à considérer sa faute comme lourde à extrêmement lourde, et des éléments propres à l'auteur (acte d'automutilation d'une part, absence d'empathie et de prise de conscience d'autre part), il se justifiait de fixer une peine pour l'infraction de meurtre dans la partie supérieure du spectre à disposition (de 5 à 20 ans). La peine privative de liberté de 15 ans infligée par la cour cantonale ne procède pas d'un abus du large pouvoir d'appréciation dont elle dispose. Le grief tiré de la violation de l'art. 47 CP est donc infondé.
4.
Le recours doit être rejeté dans la mesure de sa recevabilité. Comme ses conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant devra donc supporter les frais judiciaires (art. 66 al. 1 LTF), dont le montant sera toutefois fixé en tenant compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
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 28 novembre 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy