<h1 dir="auto">Environment</h1>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Microsoft Windows [Version 10.0.18362.207]
Windows Terminal version (if applicable): 0.2.1831.0"><pre lang="none" class="notranslate"><code class="notranslate">Microsoft Windows [Version 10.0.18362.207]
Windows Terminal version (if applicable): 0.2.1831.0
</code></pre></div>
<h1 dir="auto">Steps to reproduce</h1>
<ul dir="auto">
<li>Use MesloLGL Nerd Font ForPowerline font.</li>
<li>Type <code class="notranslate">fi</code></li>
</ul>

<h1 dir="auto">Expected behavior</h1>
<ul dir="auto">
<li>Terminal displays <code class="notranslate">fi</code></li>
</ul>

<h1 dir="auto">Actual behavior</h1>
<ul dir="auto">
<li>Terminal rewrites <code class="notranslate">fi</code> to a phone icon.</li>
<li>Video example: <a href="https://i.imgur.com/fUwPUvN.gif" rel="nofollow">https://i.imgur.com/fUwPUvN.gif</a></li>
</ul>
<h1 dir="auto">Description of the new feature/enhancement</h1>
<p dir="auto">Currently "defaults" (including profiles and keybindings) are always applied and merged with "profiles.json". I have zero overlap between default and custom keybindings because I use default prefix (ctrl+shift) inside different application. In new version of Terminal, if I don't override <em>all</em> those to null I have unwanted side effects (specially if that app passes keybindings through and Terminal gets them).</p>
<p dir="auto">Also I don't want to have certain profiles visible but GUIDs are different across machines so on each machine where I use Terminal I have to checkout my dotfiles (including Terminal config), inspect defaults file and then override (hide) those GUIDs.</p>
<h1 dir="auto">Proposed technical implementation details (optional)</h1>
<p dir="auto">Merge (cascading) should be optional. If disabled defaults should be used one-time to create profiles.json.</p>