I know add-ons such as Glims can do this, but I would rather stay away from them. Any native (or more likely semi-native) way to do so? If it matters, the engine I would like to add is duckduckgo.
The Safari Extension anysearch allows you to change the search engine used by the Safari search bar/unibar, without any hack-ish stuff such as changing the hosts file.
No, the only options are Google, Bing, and Yahoo.
If it is of any help, DuckDuckGo have their own extension on the Apple website for Safari extensions.
MacHints just did a post on this. The basic premise is that you redirect Yahoo! Search via the hosts file to the search engine of your choice. It works like a charm.
in your /etc/hosts file, add this line:
then choose Yahoo as your default search.
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
This works with Safari 5.1.10 on Mac OS 10.6.8
To get Safari to open with duckduckgo (or any other) as search engine with no add ons or hacking type >https://duckduckgo.com/< (without the ><) into the Safari Preferences "Homepage" then set "New windows open with" to "Homepage" and "New tabs open with" "Homepage". This keeps the 3 default search engines as they were, at the top. OR just make the search engine of your choice a bookmark in the Bookmark bar and just click it/them.