注:この記事の最新バージョンはこちらにあります。
最も頻繁に使用されるアプリケーションに切り替えるには、キーボードショートカットを使用するのが最適です。以下に、3つの主要なプラットフォームのそれぞれでそれを行う方法を示します。
GNU / Linux
デスクトップ環境としてGNOMEを使用しています。キーボードを使用して同じ機能をはるかに高速に実行できる領域でマウスを使用しないことは、生産性を高めるために強く推奨されます。
たとえば、TwinViewを使用して構成された外部モニターを使用している場合、ラップトップディスプレイのウィンドウから外部モニターのウィンドウにマウスポインターを移動するには時間がかかります。モニターの解像度が高い場合、さらに時間がかかります。
以下は、通常はマウスを使用して実行される機能のリストですが、ここに記載されているのと同等のキーボード中心のアプローチを採用しています。
特定のウィンドウに切り替える
約10個のウィンドウを開いており、特定のウィンドウに切り替えたいとします。ここでは80/20ルールが適用されます-あなたが行うほとんどのウィンドウ切り替えは、すべての可能なウィンドウの小さなサブセット用です。私の場合は、Emacs、Firefox、Terminalの3つのアプリケーションに頻繁に切り替えます。したがって、事前定義されたキーをこれらのウィンドウにバインドする方が便利です。
次のキーの組み合わせを押すと、対応するウィンドウがアクティブになります。
ctrl + alt + u: Firefox
ctrl + alt + k: Emacs
ctrl + alt + j: Terminal
これらは私にとって最も便利なショートカットですが、必要に応じて異なるキーを割り当てることができます。
残っている唯一の質問は、これをどのように行うかです。たとえば、Sawfishを使用している場合、これは簡単な作業ではありません。しかし、Metacity(Ubuntuのデフォルト)のような他のパワー不足のウィンドウマネージャーには、解決策があります:wmctrl。Ubuntuでは、apt-getを使用してwmctrlをインストールできます。インストール後、次のコマンドを実行してください。
$ wmctrl -a Firefox
$ wmctrl -a emacs
$ wmctrl -a Terminal
-aオプションは、タイトルが指定された引数と一致するウィンドウをアクティブにします。キーをマッピングするには、xbindkeysを使用します。apt-getを使用してxbindkeysをインストールし、構成ファイル〜/ .xbindkeysrcの書き込みを開始します。以下は私の設定です:
"wmctrl -a Firefox"
m:0xc + c:30
Control+Alt + u
"wmctrl -a Terminal"
m:0xc + c:44
Control+Alt + j
"wmctrl -a emacs"
m:0xc + c:45
Control+Alt + k
通常、xbindkeys -kコマンドを使用して、上記のすべての数値コードを見つけます。たとえば、m:0xcはControl + Altキーの組み合わせに対応します。グラフィカル構成ユーティリティであるxbindkeys-configを使用して、〜/ .xbindkeysrcを作成することもできます。
また、xbindkeysをGNOMEセッション設定に追加して、起動するたびに自動的に起動するようにすることも検討できます。
特定のFirefoxタブに切り替える
Firefoxでのマウスレスタブ切り替えは、いくつかの方法で実行できます。
Alt + nを押します。nはタブ番号です。たとえば、Alt + 2を押して2番目のタブに切り替えます。1番目、2番目、または3番目のタブへの切り替えは別として、これは通常あまり役に立ちません。
Ubiquityのタブコマンド。Ctrl +スペースを押してから「tab gmai」と入力して、Gmailタブに切り替えます。これは、特に多くのタブを開いている場合に特に便利です。tabコマンドがtで始まる他のコマンドよりも頻繁に使用される場合は、「tab gmai」の代わりに「t gmai」と入力するだけです。特定のEmacsバッファーへの切り替え
Emacsには優れたidoモードがあり、バッファを切り替える際にバッファ名をインタラクティブにあいまいにすることができます。通常、ミニバッファーを表示するためにCx bを押してから、タブ補完でバッファー名を手動で入力します。idoモードでは、たとえば「ny」と入力すると、main.pyバッファーに一致します。Enterキーを押さなくてもインタラクティブに実行されます。パスにido.elを追加した後、.emacsで次のelispコードを使用します。
;; Buffer switching
(require 'ido)
(ido-mode t)
(setq ido-enable-flex-matching t)
(global-set-key (kbd "M-i") 'ido-switch-buffer)
ここでAlt + iを押して、バッファをインタラクティブに切り替えます。
私自身の.xbindkeysrcの最新バージョンはここにあります。
マイクロソフトウィンドウズ
同じことは、Microsoft WindowsでAutoHotkeyというプログラムを使用して行うこともできます。
Windowsベースのラップトップで使用するAutoHotKeyスクリプトは次のとおりです。
; match window title anywhere
SetTitleMatchMode 2
^!u::WinActivate Opera
^!j::WinActivate ActiveState Komodo
^!k::WinActivate sridharr@double
^!h::WinActivate Mozilla Thunderbird
Apple Mac OS X
Macでは、グローバルキーボードショートカット(xbindkeysなど)を割り当てるUnixyの方法はありませんが、いくつかの回避策があります。このserverfault投稿のおかげで、特定のアプリケーションをアクティブにするキーボードショートカットを割り当てるには、Quicksilverが十分な方法であることがわかりました。
グローバルキーボードショートカットの割り当ての詳細な手順については、この投稿をご覧ください。設定は〜/ Library / Application Support / Quicksilver / Triggers.plistファイルに保存されるため、簡単に移動したり、Dropboxディレクトリにシンボリックリンクしたりできます。