Small Changes

ノートPCのシングルディスプレイ環境で生産性高く作業するために取り入れたこと


Metadata


最近、AcerさんのセールでノートPCを購入しました。

普段はトリプルディスプレイのデスクトップPCで作業しているのですが、ノートPCでモニタを繋げずに作業するときにデスクトップPCに比べて作業効率が悪いです。

作業効率をあげるために取り入れたことを紹介しようと思います。

3本指スワイプ

Windowsではデフォルトで次のアクションが割り当てられていました。

スワイプ操作でアプリの切替ができるため一番最初に取り入れました。

Chromeタブを別アプリとして開く

Chromeタブで開いているサイトでよく使うものは別アプリとして開くように設定しました。

この手順で別アプリとして開いたものは、先ほど3本指スワイプで説明したアプリの切替の対象にChromeアプリも対象になるためとても便利です。

Chromeの右の3点リーダー > その他のツール > ショートカットを作成

または、インストールできるアプリはインストールする

「Windowsキー + 数字」でタスクバー上のアプリを起動(開く)

Windowsでは、「Windowsキー + 数字」でタスクバー上の対応したアプリを開けるようです(これは知りませんでした)。

下記を例にすると、

  • 「Windowsキー + 1」でChrome(1つ目)

  • 「Windowsキー + 2」でTaskChute Cloud

  • 「Windowsキー + 3」でChrom(2つ目)

がそれぞれ対応します。

Chrome拡張機能のPopup Tab Switcherでタブ切替を便利にする

「Alt + y」でChromeのタブを切り替えられるようになります。

基本は、Ctrl + Tab(Ctrl + Shift + Tab)で切り替えるのと変わりませんが、最初に呼び出されるのが直近開いたタブを呼び出してくれるので切り替えながら作業したいときには高速で作業できるようになります。

Popup Tab Switcher

チートシート

ここまでに説明したノートPCの生産性をあげるときのショートカットキーをまとめたものです。

Windows

コマンド説明
3本指スワイプ(左/右)アプリ切り替え(Alt+Tabと同じ) ※Chromeアプリも切替対象になる
3本指スワイプ(上)マルチタスク表示
3本指スワイプ(下)デスクトップ表示
Win + 数字キータスクバーのアプリに対応 ※左から連番で1,2,3,4...と数字が対応

Google Chrome

コマンド説明
Alt + yタブの切替(Ctrl + Tabと違い、直近開いたタブを呼び出し) (Popup Tab Switcher)

キーボード設定をAutoHotkeyに寄せる

今までキーボード設定はMicrosoft IMEに直接行っていました。

ですが、Microsoft IMEは設定ファイルをエクスポート・インポートしての管理ができません。

今はデスクトップPCとノートPCがあり設定ファイルで共通化したいこともあり、この機会にAutoHotkeyに寄せました。

今回は下記を参考に設定しました。

AutoHotkeyをダウンロードします。

最終的に下記設定になりました。

keysetting.ahk

; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; IMEON/OFFの制御を行う関数
; IME_SET(0): IME OFFIME_SET(1): IME ON
; ref: https://namayakegadget.com/765/
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
IME_SET(SetSts, WinTitle="A")    {
	ControlGet,hwnd,HWND,,,%WinTitle%
	if	(WinActive(WinTitle))	{
		ptrSize := !A_PtrSize ? 4 : A_PtrSize
	    VarSetCapacity(stGTI, cbSize:=4+4+(PtrSize*6)+16, 0)
	    NumPut(cbSize, stGTI,  0, "UInt")   ;	DWORD   cbSize;
		hwnd := DllCall("GetGUIThreadInfo", Uint,0, Uint,&stGTI)
	             ? NumGet(stGTI,8+PtrSize,"UInt") : hwnd
	}

    return DllCall("SendMessage"
          , UInt, DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hwnd)
          , UInt, 0x0283  ;Message : WM_IME_CONTROL
          ,  Int, 0x006   ;wParam  : IMC_SETOPENSTATUS
          ,  Int, SetSts) ;lParam  : 0 or 1
}


; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; 無変換キーをベースとしたショートカットキー割当
; ref: https://snowsystem.net/other/win
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; 無変換の単発押しはIME OFF
vk1D::IME_SET(0)

; ----------------------------------
; vimのcursolkey
; ----------------------------------
vk1D & h::Left
vk1D & j::Down
vk1D & k::Up
vk1D & l::Right

; ----------------------------------
; word jump
; ----------------------------------
vk1D & u::
  if GetKeyState("Shift") {
    Send ^+{Left}
    return
  }
  Send ^{Left}
  return

vk1D & i::
  if GetKeyState("Shift") {
    Send ^+{Right}
    return
  }
  Send ^{Right}
  return

; ----------------------------------
; コロン(vkBA)とセミコロン(vkBB)をEnter
; ----------------------------------
vk1D & vkBA::Enter
vk1D & vkBB::Enter

; ----------------------------------
; Home/End/BS/Del
; ----------------------------------
vk1D & a::Home
vk1D & e::End
vk1D & n::BS
vk1D & m::Del

; ----------------------------------
; カーソル位置から行末まで削除
; ----------------------------------
vk1D & o::
  send {ShiftDown}{End}{ShiftUp}
  send ^c
  send {Del}
  return


; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; 変換キーをベースとしたショートカットキー割当
; ref: https://snowsystem.net/other/win
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; 変換の単発押しはIME ON
vk1C::IME_SET(1)


; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; かなキーをベースとしたショートカットキー割当
; ref: https://snowsystem.net/other/win
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; かなキーの単発押しはIME ON
vkF2::IME_SET(1)


; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; ESCキーをベースとしたショートカットキー割当
; ref: https://snowsystem.net/other/win
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; ESCの単発押しはIME OFF
~Esc::IME_SET(0)

チートシート

ここまでに説明したAutoHotkeyを導入して使えるようになったショートカットキーをまとめたものです。

AutoHotkey

コマンド説明
無変換IME のオフ
無変換 + hjkl矢印に対応
無変換 + aeHome、Endに対応
無変換 + nmBackspace、Deleteに対応
無変換 + ;:Enterに対応
無変換 + ui単語単位のカーソル移動
無変換 + oカーソル位置から行末まで切り取り
変換IME のオン
かなIME のオン
ESCIME のオフ

References