(rubikitch loves (Emacs Ruby CUI Books)) このページをアンテナに追加 RSSフィード

2014-07-18

[]Emacs - だめだめ人間

効率ばかり求められる現代人、

やはり仕事効率的に行いたいものですよね。


てきぱきと短時間仕事を終わらせて、

さっさと帰宅したり遊んだりしたいですよね。


プログラミングをしている人達はなおさら

効率化をしたがりますよね。


Emacsの設定を書くのも、

より効率的に使うためですしね。

だめだめ人間るびきち

そんな僕はどうすれば物事がうまく進むように

なるのかなと何年も試行錯誤を続けてきました。


GTDをやり始めたりとか、

時間方式を試したりとか、

生産性を上げる方法とか、

集中力を上げる方法とか…


本当にいろいろやってきました。


けれども、どれも決定打にならなかったのです。


本やメルマガを書き始めたときは、

プレッシャーに圧倒されてしまい、

心が壊れてしまいそうでした。


1ヶ月以上もまったく文章

書けなくなる時期がありました。


GTDを試してみても、今思えば

週次レビューがうまくいかず、

本来の効果が発揮できませんでした。


「いつかやるリスト」が一向に減らず、

行動のモチベーションがわかないまま、

たまっていくばかりでした。


学校時間割はタスクを完遂させるのに

とても素晴しいシステムです。


開始時間・終了時間をはっきり決めて、

迷うことなく前へ進んでいくやつです。


時間システムを試してみても、

予定が狂ってしまってその時間に始められないと

自分にはできないんだなと思っていました。

続きはメルマガ

けれどもある真実に気付くことで、

こんな僕でも物事がどんどんうまく進んでいくようになりました。


物事がうまくいっていないのならば明日のメルマガは必読です!

http://www.mag2.com/m/0001373131.html

2014-07-11

[]がんばらない方が物事がうまくいく!

あなたは、新しいことに挑戦したいですか?


Emacsの新たな操作方法を覚える

新たなプログラミング言語を覚える

ダイエット

運動


いろいろありますが、

すべてうまくいっているでしょうか?


この問いにYesと答えられる人は

ほとんどいないと思います。


新しいことに挑戦するも、


『なかなか時間がとれない』

とか

モチベーションが続かない』

とか

『ついめんどくさいと思ってしまう』

とか


いろいろな壁に阻まれていたりしませんか?


三日坊主で終わっていませんか?



日本人はまじめなのでみんな

『がんばって』

新たなことを達成しようとしていますが、

がんばりつづけるのはしんどいものです。


そして、いつしかモチベーションが続かなくなって

途中でやめてしまう場合がほとんどです。


それは本人が怠け者だからいけないのではなくて、

脳がそーゆー風にできているのだから仕方ないのです。


脳が『がんばる』ということを拒否しているんですね。


緊急を要しないタスクとか

結果が出るまで長期間かかるタスク

本当にそういう傾向が強いですよね。



そこで、ひとつだけやってはいけないことを教えますね。


新しいことを一気に始めないようにしてください!!!


よほど使命感に燃えていたり緊急を要しない限りは

そのうちやらなくなってしまいます。



ですが、うまい方法で脳をだまして

がんばらなくても自動的

物事が成功する方法があるとしたら

知りたくないですか?


この方法を使えば

新たなプログラミング言語を覚えることとか

1年で5kgのダイエットとか

読書で知識を蓄えていくこととか

本当に楽勝でできるようになってしまいます。


怠け者で面倒くさがりやであってもできます。


僕もこっそりこの方法を使うことで

日々のタスクが着実に進んでいることを

実感しています。

続きはメルマガ

この

『脳をだましてがんばらなくても

自動的に物事が進んでいく方法

を明日から何回かに分けてメルマガでお話します。


Emacsメルマガで脳の話って新鮮ですよね(笑)


もちろんタスク処理システムとしてEmacsを用います。


Emacs+脳シリーズをお楽しみに!

http://www.mag2.com/m/0001373131.html

2014-06-27

[][]Emacs×Ruby - PryをEmacsで使ってみる

Pry = IRB.succ

今回は久々にRubyEmacsなお話です。

あなたRubyプログラミング試行錯誤するときに

どういうツールを使っていますか?

irb

xmp(rcodetools)?

irbRubyインストールしたときに

昔からついてくる対話Rubyです。

シェルインターフェースRubyの式を

書いたら評価結果を表示してくれます。

その進化形がPryです。

で、pryとは何かというと、

『Pry = IRB + Shell + Ruby Shell + Debugger』

といった感じです。

Emacs世界にあるeshellは

『Eshell = IELM + Shell + Emacs Lisp Shell』

なので、pryはRuby界のeshellみたいなものと

思っていただければよいです。

$ sudo gem install pry pry-nav

インストールしてください。

Emacsで使う準備

pryはEmacsから使えます。

Rubyのパッケージには、ruby-mode.elなどのelisp

含まれていますが、古いのでMELPAのものを使います。

昔からEmacsirbを使うにはinf-ruby.elを使うのですが、

MELPA版のinf-ruby.elはpryにも対応しています。

M-x package-refresh-contents

M-x package-install inf-ruby

そして、以下の設定をしてください。

==== pry-init.el

(require 'inf-ruby)

(setq inf-ruby-default-implementation "pry")

(setq inf-ruby-eval-binding "Pry.toplevel_binding")

;; riなどのエスケープシーケンスを処理し、色付けする

(add-hook 'inf-ruby-mode-hook 'ansi-color-for-comint-mode-on)

続きを読む

2014-06-20

[]Emacs - yasnippetスニペットを一覧する

yasnippetは便利だけど…

yasnippet略語を展開して

定型入力支援するelispです。

yasnippetは開発してから何年もたち、

すでにたくさんのスニペットがついてきました。

それこそスニペットの山、やま、Yama!

これだけスニペットがあればさぞかし

便利になるだろうと最初は思うはずです。

だがしかし!

これには本質的に避けられない大きな問題があったのです。


その問題とは…

記憶

です。


いくらたくさんスニペットが登録されていたとしても、

それを展開するための略語が覚えられないのです。

開発者からしてみれば、よかれと思って

どんどん追加しまくったスニペット群、

だが、略語が覚えられないと展開できない

という根本的問題があるのです。

頻繁に使う略語ならば、何度か使っていくうちに勝手に

覚えてきますが、使用頻度の低い略語は一旦覚えたとしても、

あっさり忘却の彼方へ吹き飛んでしまうのです。

これではいくらyasnippetが便利だとしても、

もったいなさすぎですよね。

今回は、この問題をどうにかする方法を教えます。

スニペットを一覧したい!

無数に存在するスニペットたち、

使っていると、当然、どんなスニペット

あるのか気になってしまいますよね。

スニペットを一覧したい!』

その気持ちよくわかるんです。

それならば、まずこのコマンドを使ってください。

M-x yas-describe-tables

今使えるスニペットたちが一覧されます。


続きはメルマガ

スニペット一覧が得られれば、

もちろんアレですよね!

続きは明日のメルマガでお話します。お楽しみに!

http://www.mag2.com/m/0001373131.html

2014-06-13

[]Emacs - smartrep.elでrepeatを活性化せよ

くどいプレフィクスキー

Emacsにはプレフィクスキーという概念がありますね。

そのおかげで1ストロークではおさまりきれいないほどの

数のコマンドをキーに割り当てることができます。

それはいいことなんですが、プレフィクスキー

付きのコマンドを何度も実行すると、いい加減

プレフィクスキーがくどいと感じてきませんか?


たとえば、

C-x 3でウィンドウを左右分割してください。

その後C-x {を何回か実行して

ウィンドウを縮めてください。

C-x { C-x { C-x { …と何度もC-x {を

実行するハメになってしまいますね。

repeatはいいけど

これを回避する方法としてrepeatを使う方法があります。

C-x zを使えばC-x { C-x z z …のようにできますが、

やはりC-xがくどいのではないでしょうか?

(global-set-key (kbd "C-,") 'repeat)

とC-,にrepeatを割り当てれば

C-x { C-, C-, …のように操作できます。

それでも同じ操作を繰り返すのにC-,に操作を切り替える

のはしっくりこないと感じるのではないでしょうか?

C-fならば、それを繰り返せばどんどん

カーソルを前に持っていけますね。

それと同じように C-x { { { …と

操作できた方が使いやすいはずです。

逆にウィンドウを広げる C-x } も使えば、

C-x { { } { …のようにキーボードだけ

で微調整ができるようになります。

ウィンドウの大きさを調節するのに

わざわざマウスを使う必要はありません。

smartrep登場

それを実現するのが2年以上前に

登場したsmartrep.elです。

M-x package-refresh-contents

M-x package-install smartrep

にてインストールしてください。

そして以下のコードを評価すると、

C-xの後に{と}でウィンドウの横幅を

調節できるようになります。

(require 'smartrep)
(smartrep-define-key global-map "C-x"
  '(("{" . shrink-window-horizontally)
    ("}" . enlarge-window-horizontally)))

続きはメルマガ

他にもsmartrep的なコマンドを紹介したり、

smartrepを使ってウィンドウ制御をする設定を

明日のメルマガでお話します。お楽しみに!

http://www.mag2.com/m/0001373131.html