月別アーカイブ: 2016年3月

emacs helm の補完情報(ソース)を切り替えるキー操作

helmは、殆どの場合、タブキーで補完してくれるので、
操作方法を覚える必要はあまりない。

だけど、覚えなくて良いせいで
たまに補完の情報源を切り替えたい時に、
毎回検索することになる。

#+BEGIN_SRC lisp
;; helm-20160321.959:
./helm-files.el:409: (define-key map (kbd “<M-left>”) ‘helm-previous-source)
./helm-files.el:410: (define-key map (kbd “<M-right>”) ‘helm-next-source))
#+END_SRC

カーソルキーの左右で切り替えられるみたいだ。

これで、ソースを recentf から buffers-list に
さくっと切り替えられる。

きっと
また忘れるだろうな。

macで既定のブラウザ(デフォルト Web ブラウザ)を設定する方法

バッテリーの持ちが良くなるというので、
Macbookでは Chrome Canary を使っていた。

その時に、既定のブラウザ(デフォルト Web ブラウザ)も
Chrome Canary に設定していた。

設定方法は
OS Xのシステム環境設定>一般>デフォルトWebブラウザ
で、リストからブラウザを選ぶだけ。

今現在は通常の Chrome で不都合ないし、
当時ほど体感速度も変わらなくなったので
通常版の Chrome に戻したのだけど。。。。

デフォルトWebブラウザのリストにブラウザが何も出てこない。
焦ったものの。

ふと思い出して。
通常版の Chrome の設定画面の規定のブラウザから
規定のブラウザを Google Chrome に設定 を選んで元通り。

ただ。。。。
OS Xのシステム環境設定>一般>デフォルトWebブラウザ
のリストには既にアンインストールしたブラウザまで復活してしまった。

消し方も分からないし不都合ないので、このままですが。

gitのローカルリポジトリをローカルで共有したい

gitでワークスペースを複数作って違う作業をしたい場合に、
リモートのサーバを用意して、リポジトリを共有していた。

バックアップも兼ねているので、それはそれで良いのだけど
もっとご気楽にローカルのリポジトリを共有する方法があった。

[[http://d.hatena.ne.jp/bi_na/20120206/1328502980][gitのローカル用の共有リポジトリ(?)を作る方法Add Star]]

workspace/orginal/ に既にgitのローカルリポジトリがあるところから。

#+BEGIN_SRC sh
$ cd repo
$ git clone –bare workspace/orginal/ # ← 元のリポジトリから新しい共有用リポジトリを作る

$ cd workspace/new/
$ git clone repo/orginal.git # ← 新しいワークスペースを作る

$ cd workspace/orginal
$ git remote add origin repo/orginal.git # ← 元のリポジトリに origin を設定
#+END_SRC

ポイントは2つ。

まず、
元のリポジトリから新しい共有用リポジトリをcloneする際に –bare オプションをつけること。
これで、リポジトリとして必要なファイルだけがcloneされる。

もう一つが、
元のリポジトリに、今作った共有用リポジトリをoriginとして設定すること。
これで、元のリポジトリのフォルダも、引き続きワークスペースとして使用できる。

Adobe DC/Readerの読み上げ機能がしつこいので

Adobe のpdfソフトが目紛しく更新されて、
段々と重くなっているなぁ、と思うこのごろ。

いつ頃からか、仕事のpdf書類を開くと
文章の読み上げ画面が表示される様になり、
特許資料などの大量に書類を見る作業の邪魔になっていた。

もう業務妨害と言って良い程。

設定画面を見ても、読み上げ機能を停める方法が分からず、
ネットで調べてみた。

職場で、pdfの読み上げ機能を使う事は無いだろうし、
以下の方法が確実で良さそう。

フォルダの場所は、バージョン毎に違いそうだけど
C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\plug_ins
にある、以下の2つのファイルを削除する。

– Accessibility.api
– ReadOutLoud.api

これで、読み上げ機能が無効化されスッキリ。

pdfファイルの読み込みが劇的に早くなるので
書類が沢山ある時の作業効率も、改善してラッキー。

というか、読み上げ機能のせいで、こんなに遅くなってたのか…
今迄の無駄に過した時間の長さを思うと、ちょっと残念な気分になる程。

OSX El Capitan のために Parallels Desktop をアップグレードして Windows10 を

MacBookPro Retina 2015 で使用していた Parallels Desktop 10 は
El Capitan と Windows10 に完全対応していなかったとか。

あまり気にせず Windows10をインストールしていたのだけど、
どうしてもExcelが必要な時以外は、実際には殆ど起動する事はなかった。

Parallels Desktop 11にアップデートしたところ、
非常に快適な事に気がついてしまった。

起動が早くなったので、ちょっとWindowsアプリ使いたい場面でも
さほど負担に感じなくなった。

そして、
Cortana の音声入力が地味に便利。

未体験だけど、
バッテリの持ちも改善したらしいので
起動しっぱなしでも良いかも知れない。

あまりに快適だったので、
MacBook Air にも Parallels Desktop をインストールしてしまった。

いちいちマイクロソフトにライセンス認証しないといけないのが
どうにかなれば、本当に快適。

emacs helm の設定を整理

2016/03/24 現在のhelmの初期状態が、
変更していた自分好みと殆ど同じになったので
設定を見直した。

#+BEGIN_SRC lisp
;; ————————————————————————
;; @ helm
(require ‘helm-config)
(require ‘helm-command)
;;(require ‘helm-descbinds)

;; 体感速度向上
;;(setq helm-idle-delay 0.2)
;;(setq helm-input-idle-delay 0.2)

;;(setq helm-candidate-number-limit 200)
(setq helm-mini-default-sources ‘(helm-source-recentf
;;helm-source-files-in-current-dir
helm-source-buffers-list
;;helm-source-buffer-not-found
))
(helm-mode 1)

;; Helm KeyBind
(define-key global-map [remap find-file] ‘helm-find-files)
(define-key global-map [remap occur] ‘helm-occur)
(define-key global-map [remap list-buffers] ‘helm-buffers-list)
(define-key global-map [remap dabbrev-expand] ‘helm-dabbrev)
(global-set-key (kbd “M-x”) ‘helm-M-x)

;;; helmで変更したい/したくないコマンド
;;(add-to-list ‘helm-completing-read-handlers-alist ‘(find-file . nil))
;; ‘((describe-function . helm-completing-read-symbols)
;; (describe-variable . helm-completing-read-symbols)
;; (describe-symbol . helm-completing-read-symbols)
;; (debug-on-entry . helm-completing-read-symbols)
;; (find-function . helm-completing-read-symbols)
;; (disassemble . helm-completing-read-symbols)
;; (trace-function . helm-completing-read-symbols)
;; (trace-function-foreground . helm-completing-read-symbols)
;; (trace-function-background . helm-completing-read-symbols)
;; (find-tag . helm-completing-read-with-cands-in-buffer)
;; (ffap-alternate-file . nil)
;; (tmm-menubar . nil)
;; (find-file . nil)
;; (execute-extended-command . nil))

;; 自動補完を無効にする
;;(custom-set-variables ‘(helm-ff-auto-update-initial-value nil))

;; C-hでバックスペースと同じように文字を削除
;;(define-key helm-read-file-map (kbd “C-h”) ‘delete-backward-char)

;; TABで任意補完。選択肢が出てきたらC-nやC-pで上下移動してから決定することも可能
;;(define-key helm-read-file-map (kbd “TAB”) ‘helm-execute-persistent-action)

;; helm
;; minibuffer で C-k を押すと先頭から丸ごと削除され、kill ring に追加されないのを解決
;; → 今は不要
;;(setq helm-delete-minibuffer-contents-from-point t)
;;(defadvice helm-delete-minibuffer-contents (before helm-emulate-kill-line activate)
;; “Emulate `kill-line’ in helm minibuffer”
;; (kill-new (buffer-substring (point) (field-end))))

#+END_SRC

MacBook Air 2014 に OS X El Capitan をクリーン インストールした結果

以下の手順は、もう一台PCがある状態で行なう必要があると思う。 出来れば、そのもう一台はMacの方が安心。

無事にクリーンインストール出来たとしても、とても長い時間がかかるので、 やっぱりもう一台PCが無いと大変かも。

OSX El Capitan クリーンインストールの問題

10月1日に一般公開された OS X El Capitan。

クリーンインストールすると、Homebrew をインストールできない (/usr/local を作れない) という、重大な問題があった。 普段 Homebrew のみで作業していると言っても良い位なので、これは深刻。

公開から数日たって、それなりの手間をかければクリーンインストールでも /usr/local を作って、Homebrewをインストールできることが確認できたので、 ここはクリーンインストールし直してみようと思う。

MacBookAir は、 Snow Leopard/Merberick/Yosemite と上書きインストールして来てるし、 El Capitanの上書きインストールで 5GB の空きが増えたとは言え、 SSDの半分以上を BootCamp にあててしまっていて容量が不安だったので。

インストールメディアの作成

Air の(間違えた)インストールが終わる気配がないので、 母艦の方にダウンロードしてあるイメージからインストールメディアを作成する。

USBメモリをフォーマットして、下のコマンドを実行する。

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED/ --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

USB2.0の安いUSBメモリだと、30分ほどかかった。

やっと完成したUSBメモリを刺して、optionキーを押しながら再起動する。

USBメモリを指定してインストールを開始したら、 BootCampじゃない方のパーテーションを指定して、 さらにインストールを進める。

一番の課題 Homebrew とクリーンインストールの解決策

El Capitanは、システムディレクトリの扱いが厳しくなっている。 SIP/rootless と言うらしい。 これが、 Homebrew のインストール先 /usr/local にも影響する。

通常のLinuxでは /usr/local というのは半分ユーザに開放されている様な物だけど、 /usr が SIP/rootless の管理範囲内なので、 /usr/local を作れないために、 Homebrewのインストールが出来なくなってしまう。

予め /usr/local がある場合には、El Capitanのインストーラが良きに図らってくれる。 ただ、その場合でも、 /usr/local の量が多いとインストールに時間がかかるらしい。

ちなみに、母艦ののMacBookProの /usr/local の使用量は、1.7GBもあった。 ほぼ同じ環境を作っているAirの方も大差ないはず。

クリーンインストールの場合、 /usr/local を作る方法が無いので困ったことになる。

対策方法は、 homebrew のGitHubに紹介されている。

El Capitan & Homebrew からの引用

This is how to fix Homebrew on El Capitan if you see permission issues:

If /usr/local exists already:

sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local If /usr/local does not exist:

Reboot into Recovery mode (Hold Cmd+R on boot) & access the Terminal. In that terminal run: csrutil disable Reboot back into OS X Open your Terminal application and execute: sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local Reboot back into Recovery Mode & access the Terminal again. In that terminal execute: csrutil enable Reboot back into OS X & you’ll be able to write to /usr/local & install Homebrew.

リカバリーモードでなら (そして長ったらしいおまじないを使うと) /usr/local を作成できるとのこと。

都合4回リブートする必要があるけど、最初の一回だけなので我慢しよう。

XCodeとCommand Line Toolsのインストール

Homebrewに必要なので、XCodeとCommand Line Toolsをインストールし、 一回起動してライセンスを許諾しておく。

Dropbox のインストール

Homebrewのインストール前に、諸々の設定ファイルを収めてある Dropboxをインストールしてサインインし同期を始める。

Homebrew/Homebrew-caskのインストールとgccの再ビルド

まず、というかやっと、 Homebrew とCaskをインストール。

Airは 2coreなんだけど、画像処理もちょいちょいさせるので、 gccでOpenMPを使えるようにしておく。

ruby -e ""$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)""
brew install caskroom/cask/brew-cask
brew reinstall gcc --without-multilib

OpenMPは使えるようになる代りにmultilibが使えなくなる。 今更32bitバイナリが必要にはならないだろうけど。

emacs csv HEAD のインストール

DropBoxの同期作業が終るのを待ちつつ、 Homebrew とemacsをインストール。 emacsが無いと、この後の作業の捗り方が全然違うので。

ビルドが終わるまでには、Dropbox にある.emacs.d などの同期も完了しているはず。

emacs は、 Windowsも含めて 25.0.50を使っているので、 Homebrewでは

brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick
brew install emacs --HEAD --use-git-head --with-cocoa

brew update
brew unlink emacs
brew uninstall emacs
brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick
brew linkapps

バージョンは殆ど変化なし。 今回: 前回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version 10.10.3 (Build 14D136)) of 2015-05-05 on MacBookPro.local

cd /Applications
ln -s /usr/local/opt/emacs/Emacs.app .

Spark でショートカットキーを設定するため、 下記の通り Emacs.appをApplicationに登録しておく。 地味だけど、これで作業効率が劇的に改善する。

ホスト名の確認

emacsの設定をホスト名で切り替えているのだけれど、 OSを変えると微妙にホスト名が変わってしまう場合がある。

名前を確認して .emacs に反映しておく。

CtrlとCapsLockの入れ替え

これやっとかないと、emacsの効率半減なので。

キーボードショートカットアプリ Spark のインストール

巷では BetterTouchTool が人気だけど、極シンプルな Sparc の方が好み。

Chrome/ターミナル/Emacsを、以前と同じキーボードショートカットキーに登録すれば、まずは十分。

キーリピートを最速に変更

MacBookの標準のキーリピートでは emacs が使い難いので、 システム環境設定→キーボードで、キーのリピートを一番速い設定、 リピート入力認識までの時間を一番短かい設定に変更しておく。

Homebrew で Chromeをインストール

emacsの次にChromeが無いと、あれこれ不便なので、先にイントールしておく。

brew cask update
brew cask install google-chrome

Opera12をインストール

未だにRSSリーダとして使っている opera12.16 をいれておく。

pythonで諸々の追加インストール

Yosemiteのpythonはちょっと古かったけど、El Capitan のはどうかな? 管理が面倒なので、やっぱり Homebrew のPython で一本化しておこう。

brew install python
pip install pandas matplotlib scipy numpy

バージョンは、いい加減 python3に揃えた方が良いかもなぁと思いつつ、 AirのHomebrewはpython2だけにしておこう。

ImageMagickの再ビルド

brew reinstall imagemagick --with-x11

Homebrew で Firefox/Opera/Blender をインストール

brew cask update
brew cask install blender gimp firefox --force

# brew cask install opera
# brew cask install java jenkins xquartz googleappengine --force

Sphinx(ドキュメントの方)をインストール

うっかり Homebrew の別のSphinxをインストールしそうになるけれど、 ドキュメント作成の Sphinx は pipでインストールする。

pip install Sphinx
pip install blockdiag sphinxcontrib-blockdiag 
pip install seqdiag sphinxcontrib-seqdiag 
pip install actdiag sphinxcontrib-actdiag 
pip install nwdiag sphinxcontrib-nwdiag 
pip install tk.phpautodoc

OpenCV3をインストール

# brew install opencv --with-eigen --with-jasper --with-libtiff --with-qt --with-tbb --with-ffmpeg --with-opencl
# brew reinstall opencv --with-ffmpeg --with-jasper --with-qt --with-tbb --HEAD
brew uninstall opencv
brew install opencv3 --with-ffmpeg --with-jasper --with-python3 --with-qt --with-qt5 --with-tbb --without-tests --HEAD

echo /usr/local/opt/opencv3/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/opencv3.pth

前回 OpenCVをインストールした時、ちょっとあったので バージョンを確認しておく。

$ python
Python 2.7.10 (default, Jun  2 2015, 00:10:05) 
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type ""help"", ""copyright"", ""credits"" or ""license"" for more information.
>>> import cv2
>>> cv2.__version__
'3.0.0-dev'
>>> exit(0)

Jenkins をインストール… は今回はなし

毎日酷使しているせいか、気持ちバッテリの持ちが短かくなってきたので、 今回からはJenkinsは入れないことにした。

最近はテストランナーでテストするので、Jenkinsの出番も減ってきていたし。

とりえあず完了

El Capitanにしたからと言って、特に変わった事はないかな。

Wifiの再接続が購入時より遅くなった印象は変わらず。

Parallels DesktopのWindows10とUSキーボードでGoogle日本語変換を使う

仕事用の MacBook Pro 2015 には、Parallels DesktopでWindows10をインストールしてあるけど、 殆ど使っていなかった。 久し振りに触ってみたら、日本語入力が出来ない。。。

MicrosoftIMEの場合は [option]+[`] が、IMEの切り替えに使えるけど、 Google日本語変換に同じキーを設定することが出来ない。

何となく指に覚えがある「Shift Space」では上手く動作しないので、 「Control Space」のキーに以下の2つを追加する。

モード 入力キー コマンド
直接入力 Ctrl Space IMEを有効化
入力文字なし Ctrl Space IMEを無効化

とりあえず、これだけで十分。

BootCampでWindows10にアップデートし、日本語キーボードでGoogle日本語変換を使う

嫁さんが使っている MacBook Retine Pro 2012 は Bootcamp 5でWindows7にしていたのだが、 執拗な Windows10へのアップデート通知に耐え兼ねた嫁さんがポチッとしてしまった。

Bootcampのバージョンが、Windows10に対応していない5だったので、色々とトラブルに会った話。

Bootcampを6にアップデートする方法が分かり難い

Bootcamp 5から6へのアップデートは、 Apple Software Update や App Store では通知が無く、 予め自動では行なわれない。 なんでか。

王道的な手順、というか通る道は、こんな感じなんだろう。

  • Bootcamp 5 のまま、MicroSoftからの通知に従って Windows10 にアップデートする
  • Bluetoothマウスが効かなくなって焦る
  • Windows10 の言うがまま色々アップデートすると、余計に怪しくなる
  • Apple Software Update に Bootcamp 6 が現われる
  • Bootcamp 6 をインストールして正常に戻る

これで半日が潰れてしまった人は、僕だけではあるまい。

Bootcamp6 + windows10の環境は、なかなか快適なのだけれど、 Windows7の環境が引き継がれない事があるみたいだ。

僕のMacBookのBootcampでは問題なかったのだけれど、 嫁さんの方は個人設定が色々と初期化されてしまったらしい。

地味に不便だったのが、Google日本語入力のキー設定が元に戻ってしまった事。

標準状態では「英数キー」や「かなキー」が効かなくて不便なので、 Google日本語変換のプロパティから、設定しなおしておく。

このプロパティ上では「英数キー」を「Muhenkan」で、「かなキー」を「Hiragana」で指定する。

モード 入力キー コマンド
直接入力 Hiragana IMEを有効化
直接入力 Hiragana IMEを無効化
入力文字なし Muhenkan IMEを無効化

とりあえず、これだけで十分使い易くなる。