LoginSignup
30
19

More than 5 years have passed since last update.

ショートカットは覚えるものではなく、作るもの autohotkey編

Last updated at Posted at 2018-06-09

はじめに

windowsにて日本語キーボードを使っている方々対象の記事です。
無変換、変換キーは最高のポジションにいるにも関わらず、全く仕事をしていません。

また、例えば矢印キーの移動てホームポジションから離れて打つか、小指で打たなければいけません。(これ指の健康に悪いです)

ctrl tab などももはや人間の手の動きではないくらい曲げなければ打てません。。

なので今回は無変換、変換 + キーに日々の基本動作を割り当てましょうという話です。

無変換 + ijkl矢印キー上下左右
変換 + u or octrl tab or ctrl shift tab

を実現します。

autohotkeyを導入します。

ダウンロード
https://www.autohotkey.com/

autohotkey script

すぐコピペできるようにしています。
気に入らない箇所は修正したらOKです。

こちらにも上げています。
https://github.com/kou0123/dotfiles

shortcut.ahk
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;========vk1D(無変換)===========
; ---十字キーの設定、enter backspace------
vk1D & i::Send,{Blind}{Up}
vk1D & j::Send,{Blind}{Left}
vk1D & k::Send,{Blind}{Down}
vk1D & l::Send,{Blind}{Right}
vk1D & u::Send,{Blind}{BS}
vk1D & o::Send,{Blind}{ENTER}

; ---- テキスト編集系------
vk1D & w::Send,{Blind}{End}+{Home}{BS}
vk1D & r::Send,{Blind}{End}+{Home}^{c}
vk1D & e::Send,{Blind}{End}+{Home}^{x}
vk1D & s::Send,{Blind}+{home}
vk1D & f::Send,{Blind}+{End}
vk1D & d::Send,{Blind}{End}{Enter}

;「無変換+上段キー」でファンクションキーの動作をさせる
vk1D & 1::Send,{Blind}{F1}
vk1D & 2::Send,{Blind}{F2}
vk1D & 3::Send,{Blind}{F3}
vk1D & 4::Send,{Blind}{F4}
vk1D & 5::Send,{Blind}{F5}
vk1D & 6::Send,{Blind}{F6}
vk1D & 7::Send,{Blind}{F7}
vk1D & 8::Send,{Blind}{F8}
vk1D & 9::Send,{Blind}{F9}
vk1D & 0::Send,{Blind}{F10}
vk1D & -::Send,{Blind}{F11}
vk1D & ^::Send,{Blind}{F12}


;========vk1C(変換)===========

;tab移動など
vk1C & o::Send,{Blind}^{Tab}
vk1C & u::Send,{Blind}^+{Tab}
vk1C & l::AltTab
vk1C & j::ShiftAltTab
vk1C & n::Send,{Blind}!{Left}
vk1C & ,::Send,{Blind}!{Right}
vk1D & vk1C::Send,{Blind}{vkF3sc029}


;sandSの設定
Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "")
+Space:: Send, +{Space}
Space:: RShift

機能の説明

おまじない

  • これはとりあえず書いておいてください。
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

基本

  • 無変換+i矢印上にしたい場合です。
  • vk1D&i無変換キー+iを意味します。Send,{Blind}{up}矢印上に割り当てるを意味します。
vk1D & i::Send,{Blind}{Up}

無変換(十字キーかつenter backspace)

  • 無変換 + ijkl矢印キー上下左右を割り当てています。
  • vimライクな動きを実現できます。個人的に割当はhjklよりijklの方が好きなので、こうしています。お好きな方にカスタマイズしてみてください。
  • もうホームポジションから指をはなす事なく、爆速な動きが可能になります。
vk1D & i::Send,{Blind}{Up} 
vk1D & j::Send,{Blind}{Left} 
vk1D & k::Send,{Blind}{Down}
vk1D & l::Send,{Blind}{Right}
  • こちらもかなり便利です。よく使うBSENTERを指をはなす事無く打てるのでかなり早くなります。
vk1D & u::Send,{Blind}{BS}
vk1D & o::Send,{Blind}{ENTER}

無変換  テキスト編集系

  • {End}+{Home}にて一行選択をしています。+shiftの意味です。
  • 上から、一行削除、一行コピー、一行切り取りが可能になります。^ctrlの意味です。
vk1D & w::Send,{Blind}{End}+{Home}{BS}
vk1D & r::Send,{Blind}{End}+{Home}^{c}
vk1D & e::Send,{Blind}{End}+{Home}^{x}
  • +{home}shift homeです。文頭まで選択です。
  • +{End}shift endです。文末まで選択です。
vk1D & s::Send,{Blind}+{home}
vk1D & f::Send,{Blind}+{End}
  • 下に一行挿入です。ソースコード書いてる人は地味に便利かも。
vk1D & d::Send,{Blind}{End}{Enter}

「無変換+上段キー」でファンクションキーの動作をさせる

  • 無変換キー+2などはよく使いますね。
  • eclipseなどでは無変換+3 or 4 も多用しますが、キー間が近いのでストロークが少なく済みます。
vk1D & 1::Send,{Blind}{F1}
vk1D & 2::Send,{Blind}{F2}
vk1D & 3::Send,{Blind}{F3}
vk1D & 4::Send,{Blind}{F4}
vk1D & 5::Send,{Blind}{F5}
vk1D & 6::Send,{Blind}{F6}
vk1D & 7::Send,{Blind}{F7}
vk1D & 8::Send,{Blind}{F8}
vk1D & 9::Send,{Blind}{F9}
vk1D & 0::Send,{Blind}{F10}
vk1D & -::Send,{Blind}{F11}
vk1D & ^::Send,{Blind}{F12}

変換 tab移動系

  • ^ctrlの意味です
  • ctrl tab , ctrl shift tabを実現します。
  • ホームポジションから離れることもなく、かなり使えます。
vk1C & o::Send,{Blind}^{Tab}
vk1C & u::Send,{Blind}^+{Tab}
  • alt tab , alt shift tabを実現します。
  • 上のctrl tabと組み合わせることで、爆速アプリ切り替えが可能になります。
vk1C & l::AltTab
vk1C & j::ShiftAltTab
  • !altです。
  • 戻る、進むを実現します。
  • ブラウジングがかなり早くなります。
vk1C & n::Send,{Blind}!{Left}
vk1C & ,::Send,{Blind}!{Right}
  • 無変換 を打ってから、変換 で、日本語/英数切り替えを実現します。
  • これも結構使えます。
vk1D & vk1C::Send,{Blind}{vkF3sc029}
  • sandSです。スペース長押しすると、スペースがシフトの役割を担います。
  • space sSなど打てるようになります。
  • 文字を打っているときに、特に動かさずに大文字が入力できるようになり便利です。
Space Up:: Send, % "{Shift Up}" (A_TimeSincePriorHotkey < 200 ? " " : "")
+Space:: Send, +{Space}
Space:: RShift

最後に

  • 慣れると、早すぎだろと言われるようになります。離れられなくなるリスクはありますが笑
  • 親指を無変換、変換においておくことで特に指を動かさず、様々な動きを実現することができます。
  • 不具合が生じた場合は、一旦起動を停止すると治ります。
30
19
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
19