Basicamente, uso o teclado dos EUA para programação e o espanhol para todo o resto, e sempre alterno o layout do teclado quando mudo de navegador para VIM ou console.
No Linux (gnome), o layout do teclado era uma preferência por aplicativo, que o gerenciador de janelas lembrava automaticamente; portanto, para cada aplicativo, se você alternasse o layout do teclado, ao focar novamente nesse aplicativo, o layout do teclado mudaria para você.
Existe alguma maneira de fazer isso no OSX Lion?