You could just create a "Hyperlink" column and hide the title column on the form and list view.


Or you can use jquery to get the href and replace your title columns href.

<script src="/...../SiteAssets/jquery/jquery-1.8.3.min.js"></script>
<script>
$( document ).ready(function() {
$('.ms-listviewtable > tbody > tr > td > a').each(function() {
var getLink = $(this).attr('href');
console.log("TEST: " + getLink);
$(this).parent().prev().prev().children().children().removeAttr("href").removeAttr("onclick").attr("href",getLink);
});
});
</script>
This will just swap out the href for each row. Might need some cleaning up of the code, but it should do the trick. In my case the link column was located right next to the title column.

UPDATE
I "Single Line of Text" column pretty much works the same way.

I've added a new column at the end and modified the code as follows.
<script src="/./SiteAssets/jquery/jquery-1.8.3.min.js"></script>
<script>
$( document ).ready(function() {
$('.ms-listviewtable > tbody > tr > td:nth-child(8) > a').each(function() {
var getLink = $(this).attr('href');
console.log("TEST: " + getLink);
$(this).parent().prev().prev().prev().prev().prev().prev().children().children().removeAttr("href").removeAttr("onclick").attr("href",getLink);
});
});
</script>
Make sure to include the jquery-1.8.3.min.js file
<a href="[External Path]" target="_blank">[Title]</a>