親指シフトのNICOLA配列表を改良してみた
はじめに
親指シフトとは…、かな入力のキーボード配列を最適化し、さらに早く入力ができるよう作られた入力方式のことです。
ココらへんを参照して下さい。
生産性が倍になる! 最近話題の「親指シフト」とは - NAVER まとめ
改良した表
現在、親指シフトをタッチタイピングできるようになってそれなりに快適な入力ができるようになってます。これは修得するときに表を改良してみたおかげでうまく習得できたのがひとつの要因です。
↓が改良してみた表です。
これは、
あ〜さ | あ行、か行、さ行 |
た〜な | た行、な行 |
は〜ま | は行、ま行 |
や〜ら | や行、ら行、や行の小文字 |
わ〜、 | わ行、あ行の小文字、記号 |
という風に文字を分割することで目的の文字を探しやすくしてます。分割の基準は適当です。
もうちょっと分割してみてもいいけど、とりあえず前に編集したやつをここにあげておきます。
親指シフトを始めてみようと思ったひとはこの画像を印刷したり、デスクトップ画像に設定しておくとうまく習得できると思います。
この表はペイントなどのお絵かきツールを使うだけで作れるので、気に入らない場合自作しましょう。
ライセンスについて
ここからは読みたい人が読んで下さい。
この画像はWikipediaから取ってきた画像を編集してます。ライセンスはGFDLだそうで
- この文書を無断で複製してよい。
- この文書を無断で改変してよい。
- この文書を無断で頒布・販売してよい。ただし、頒布を受けた者や購入した者に対して、上記の許可を与えなければならない。
という風になっています。これは、著作権は放棄してないけど編集して公開しても大丈夫ですよとのこと。
元画像があるリンク
親指シフト - Wikipedia
inferior-haskell-modeで設定すると便利なこと
haskell-modeではC-c C-lで現在のファイルをロードしてinferior-haskell-modeでghciを実行できる。
デフォルトではカーソルが新しいバッファに移ってくれない。
これは設定で解決できる。
どこで見つけてきたかがわからないのが問題だけど、貼っておく。
(defadvice inferior-haskell-load-file (after change-focus-after-load) "Change focus to GHCi window after \\<haskell-mode-map>\\[inferior-haskell-load-file] command." (other-window 1)) (ad-activate 'inferior-haskell-load-file)
これでC-c C-l を実行した時に新しいバッファに移ってくれる。
参考
↑のコードはこのリンクに貼ってあったやつだった。
karky7のブログ: Gentooでemacs+haskell環境を作る
operator <<の定義の仕方
意外と見つからないのでメモ。理解してないから応用が効かなかったわけだけども。
friend ostream& operator<<(ostream& os, const Date& dt);
ostream& operator<<(ostream& os, const Date& dt)
{
os << dt.mo << '/' << dt.da << '/' << dt.yr;
return os;
}
使うにはfriend宣言が必要になる。
friend std::ostream& operator<<(std::ostream& os, const Date& dt);
std::ostream& operator<<(std::ostream& os, const Date& dt) { os << dt.mo << '/' << dt.da << '/' << dt.yr; return os; }
個人的には"std::"をつけといたほうが好き。
Chocolateyでつまづいたとこ
最近Chocolateyがまた紹介記事が上がっていたので使ってみた。スルーしたのが悔やまれることがわかった。ダウンロード、インストールを手作業でしなくていいのがやっぱりすごく楽だった。
インストールは他の方で任せるとして、自分は引っかかったとこなどをメモする。
インストールはこちらを参考に。
Widnows用パッケージ管理ツール Chocolatey - @ledsun blog
ChocolateyGUIが起動できない
Chocolatetyを使ってみてChocolateyGUIが起動できなかった。
Chocolateyをインストール: Cygwinからも使う
によると、Windowsを再起動しないとChocolateyGUIは起動できないそうです。
Emacsがインストールできない
エラーメッセージはこんなのが
[ERROR] Cannot bind argument to parameter 'Path' because it is an empty string. ----------------------- At C:\Chocolatey\chocolateyinstall\helpers\functions\Write-ChocolateyFailure.ps 1:30 char:13 + Write-Error <<<< $errorMessage + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep tion + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio n,Write-Error Write-Error : Package 'Emacs v24.3' did not install successfully: Cannot bind a rgument to parameter 'Path' because it is an empty string. At C:\Chocolatey\chocolateyinstall\functions\Chocolatey-NuGet.ps1:90 char:28 + Write-Error <<<< "Package `'$installedPackageName v$installe dPackageVersion`' did not install successfully: $($_.Exception.Message)" + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep tion + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio n,Write-Error
https://gist.github.com/pogin503/8052282
これはPathが空だからエラーになるらしい。
メモ 1
このエラーを解決しようとEmacs.nupkgを見てみた。解凍はLhaplusでやった。右クリック→解凍→ここで解凍で問題なく解凍できた。
- NuGet Package Explorer
とかでも見れるらしい。
Emacs.nupkgの中身は
rels/.rels Emacs.nuspec README.org tools/chocolateyInstall.ps1 package/services/metadata/core-properties/01a4d4df47764837ab70ae372ee2f054.psmdcp [Content_Types].xml
てな感じだった。
インストールスクリプトはtools/chocolateyInstall.ps1に書かれてある。Vim.nupkgの中身とくらべてみるとだいぶ違っていた。
結局コマンドプロンプトを再起動したら直ったので真実は闇の中に。
メモ2
PowerShell自体を学ぶにはここがいいかも。
PowerShell基礎文法最速マスター - PowerShell Scripting Weblog
スクリプトを参考にするんなら
C:\Chocolatey\chocolateyinstall\functions\* C:\Chocolatey\chocolateyinstall\helpers\* C:\Chocolatey\chocolateyinstall\toolds\* C:\Chocolatey\chocolateyinstall\chocolatey.ps1
を参考にすれば書き方の参考になる。
Jenkinsが起動出来ない問題について
どうもVer.1.541はなにか問題があってうまく起動できないみたい。
C:\Program Files (x86)\Jenkins> java -jar jenkins.war
これをやっても途中でJenkinsが終了してしまう。
↓のリンクをたどって、
https://groups.google.com/forum/#!msg/jenkinsci-users/uiZ9-o7vRY8/aRLOYEQ2STkJ
↓のやつを見るとなんだかみんな困ってる様子だった。
https://issues.jenkins-ci.org/browse/JENKINS-20630
自分の環境は大体こんな感じ。
OS:Windows 7 64bit
Java:Java 7 update 45
Jenkins: 1.541
Issueの報告を見る限り、Java 7 update 45とJenkins 1.541を使った時に起こる現象っぽい。これから新たにJenkinsを使う人はStatbleの方を使うか、1.540以下のJenkinsを使わないといけない。
ダウングレードの方法は、単にjenkins.jarを上書きすればいい。
http://jenkins-ci.org/ の past release → 1.540 → jenkins.jarでダウンロードする
http://mirrors.jenkins-ci.org/war/1.540/jenkins.war
そして、C:\Program Files (x86)\Jenkinsの場所にjenkins.warをコピペして上書きする。
これでダウングレードが完了してJenkinsを起動できるはず。
Jenkins 1.542になったら多分解決してる問題だとは思う。
Emacsで親指シフトをやってたときに困ったこと
最近親指シフトを使い始めていくらか快適に書くことが出来ているのだけれど、Emacsで入力がうまくいかない事例にあたってしまった。 org-modeで「,」全角カンマを入力しようとしたらM-,と入力されてしまってうまくいかない。
user-error: No M-x tags-search or M-x tags-query-replace in progress
エラーはこんなので、うまく入力できなかった。もしかしたらこんなエラーも出るかも。
M-, undefined
入力できなかったのでとりあえずの対策をしたらちゃんと入力できるようになった。これを~/.emacs.d/init.el とかに加える。
;; temporary_repair.el (global-set-key (kbd "M-,") #'(lambda () (interactive) (insert ",")))
こうすればとりあえずは「,」を入力できるようになる。
根本的な解決はできていないのだけれどどうすればいいのか・・・。
WordでPDFエクスポートをするVBAを書いた
Wordを最近使う機会があって、毎回同じ名前を入力してエクスポートするのが面倒だったので書いてみた。
エクスポートのやり方
Sub ExportToPDF() ActiveDocument.ExportAsFixedFormat OutputFileName:="output.pdf", ExportFormat:=wdExportFormatPDF End Sub
これを実行すればWordでPDFのエクスポートができるようになる。
任意の名前にするのは、OutputFileName:="output.pdf" の 「"output.pdf"」自分の出力したい名前にしておけばいい。
勉強用のメモ
勉強用に、参照オブジェクトのオブジェクト変数への代入処理をメモしておく。
Sub ExportToPDF() Dim wordDoc As Word.Document Set wordDoc = ActiveDocument wordDoc.ExportAsFixedFormat OutputFileName:="output.pdf", ExportFormat:=wdExportFormatPDF Set wordDoc = Nothing End Sub
定義した変数への代入は、Setですることができる。これがよく分からなくてVBAは敬遠してたけどやっとわかった。Visual Basic Editorのヘルプにドキュメントがあったのでそれをちゃんと見ないといけない。
VBAで開発で覚えたほうがいいこと
デバッグはDibug.Printを使って、Visual Basic Editorの[表示]->イミディエイトウィンドウに出力するとデバッグがちゃんとできるようになる。
F8でできるステップ実行、[表示]→[オブジェクトブラウザー]の使い方も覚えるとちゃんとVBAの開発ができるようになる。
VBAで気を付けたほうがいいこと
- どうもメソッドなどに()をつけるとエラーの原因になるので付けないほうがいい。
- 付属のヘルプを見よう。ヘルプは
Visual Basic Editor→
ヘルプ→
Microsoft Visual Basic for Application ヘルプ
で、豊富な情報を見ることができる。