Evil使いのelispデバッグ風景 あらすじ
2015/3/26追記
対処法は以下の記事にあります。
emacs: web-mode のインデント設定が効かない - yoshitia’s diary
( ´_ゝ`) JSF2.2書くならweb-modeが良いか・・・
jsp対応してるらしいし。
・・・ん?
File mode specification error: (void-variable web-mode-html-offset)
何このエラー?あ・・・
インデント設定機能しなくなった\(^o^)/オワタ
「そこで問題だ!この壊れたインデント設定をどうするか?
3択—ひとつだけ選びなさい。
答え1.ハンサム( ´_ゝ`)は突如解決策がひらめく。
答え2.通りすがりのギッハバが不具合を修正したプルリク
→プラグイン作者が即マージで問題解決してくれる。
答え3.どうしようもない。現実は非情である。
答えは-」
,.へ ___ ム i 「 ヒ_i〉 ゝ 〈 ト ノ iニ(() i { ____ | ヽ i i /__, , ‐-\ i } | i /(●) ( ● )\ {、 λ ト-┤. / (__人__) \ ,ノ  ̄ ,! i ゝ、_ | ´ ̄` | ,. '´ハ ,! . ヽ、 `` 、,__\ /" \ ヽ/ \ノ ノ ハ ̄r/:::r―--―/::7 ノ / ヽ. ヽ::〈; . '::. :' |::/ / ,. " `ー 、 \ヽ::. ;:::|/ r'" / ̄二二二二二二二二二二二二二二二二ヽ | 答 | 答え4. 自分で何とかする │| \_二二二二二二二二二二二二二二二二ノ
VimやEmacsを始める前に(windows向け)
( ´_ゝ`)ノシ
yoshitiaです。近年は4月が近づくと
出るようですが、
windowsの人向けに
新しいテキストエディタを始める前に
やっておくことを書いてみようかと。
テキストエディタを全く使った事無い方
サクラエディタから始めましょう。
と言うのは大抵新しいテキストエディタを勧める記事は
「使いこなせたらすごいエディタ」を紹介します。
そういうのは設定やプラグイン設定をミスると
起動からエラー出て使えない事態が起きることがあります。
時間に追われてない方であればそれでもいいと思いますが
もし、windows使ってて新しいエディタを
仕事で使う、論文・レポートを書く用途で使おうとするなら
設定でトラブル起きた時に使える
サブのエディタを用意した方が良いです。
-------------------------------------------
保存、コピー、カット、ペースト、Ctrl+z
矩形選択、検索、置換、文字コード変換、改行コード変換
grep、ソート、マージ、diff
------------------------------------------
上記の1行目2行目辺りを覚えてから
他のエディタに移ると身に付くのも早いと思います。
(3行目は人による)
サクラエディタはここに書いた以外にも機能沢山あるので
そのまま安住の地に選択するのもアリです。
2015/4/12追記:
サクラエディタ、タイプ別設定で「括弧の強調表示」設定が可能だった。
プログラム書く時に{ ( [が沢山あってもどの] ) }と対応してるかわかるから楽。
サクラエディタで、対応する括弧を探す。 - 今日の3タックル
すでに良く使うテキストエディタがある方
もし苦手ならタッチタイピングを鍛えなおした方がいいかもです。
「使いこなすとすごいエディタ」の類は
「キーボードショートカットを沢山使うエディタ」だったりします。
必然的にキーを見ないでも使えることが求められます。
使うエディタの種類は置いておいても
タイピングの速さは作業速度に繋がるので鍛えて損はありません。
もし、定型の文章を沢山コピー&ペーストすることが多いなら
PraseExpressをおすすめします。
タッチタイピング、PraseExpressでの改善を試みても
その先を、という方なら新しいエディタを始めるのはいいと思います。
春から幸せなテキストエディタライフを送りたいですね。
VirtualBoxでArch linux
( ´_ゝ`)ノシ
yoshitiaです。
最近Javaの再学習始めてJSF2便利さを感じてます。
以前学習した時のテキストより3年新しいものですが
IDE、JSF2ともに前回使ったIDEとjsp+Javaサーブレットより
かなり進歩してる気がします。
本題。
開発環境としてのデスクトップLinuxのススメ - 今日学んだこと
この記事を見てホイホイ環境構築しました。
Windows 8.1 64bit + VirtualBox + Arch Linux + Mate
Vagrantの扱い覚えようとしてハマったまま放置してた
VirtualBoxの再利用、素晴らしいですね。
同じような記事を書いてる方たくさんいらっしゃるので
検索のワードに使えそうな単語だけ並べます。
2015年3月現在
仮想マシンの設定
cpuコア 1
ram 3GB
データ領域 128GB
パーティション gdiskコマンド使った
パッケージマネージャ pacman (ムチャクチャ使う)
GUIのグラフィック関係のもの lightdm-gtk-greeter
※gtk2とかgtk3もこれに入ってる。
Virtualbox用グラフィックのドライバ ○ fbdev × vesa
※PC本体が2014年購入のNVIDIAの新しめのものなのでvesaでは
対応してなかった
キーボードやマウスとか xf86-input-mouse xf86-input-keyboard edev
設定したファイル(多分もっとある) .xinitrc .xprofile
xorg.confファイル作るときに使ったコマンド(設定ファイル生成してくれる)
# Xorg -configure
日本語入力 ibusを使用(他にもmozcとかfcitxとかある)
日本語化までは終わらせました。
快適さ加減で言うと、この記事をArch Linux上で書いてます。
VirtualBoxからの起動がちょっと重いブラウザ程度なので速すぎ。
ただ、仮想環境と1コア設定だからなのか半角/全角切り替え
で見た目は動いてる用に見えて裏の動きが追いついてない感じがありますが
1コアとしてはこれ以上ゼイタク言ったらバチが当たると納得するレベルの
快適さです。
Land of Lisp でハマったこと その2
( ´_ゝ`)ノシ
yoshitiaです。
land of lisp もdice of doom v2辺りです。
本題。
環境 windows 8.1 64bit Gnu Clisp-2.49
webserver.lispでserve関数がsocket通信できないorz
socketをquicklispのusocketに変えても駄目っぽい。
land-of-lisp/http.lisp at master · kofno/land-of-lisp · GitHub
失敗時に出てくるメッセージは
*** - Winsock error 10013 (EACCES): Permission denied
windowsのソケット通信を行うdll辺りで止められてるっぽい。
原著でも2010年辺りに出てるのでsocketやusocketが古いってことは
ないと思いますがwindows8辺りでwindowsのソケット通信回りが変わったのかな?(dllファイルもwinsock.dllじゃなくて
winsockac.dll?のようなファイル名だった)
windowsファイアウォールやウィルス対策ソフトの例外処理とかやっても変わらず。
land of lispでどうしてもweb関連について学びたいわけではないのでその辺はスルーすることに決定。
多分webserver.lispのようなプログラムを作って動かすって話ならCやJava、Ruby、Python・・・と他の言語でもあるので無理に頑張ることはないです。
Land of Lisp でハマったこと
( ´_ゝ`)ノシ
yoshitiaです。
2015年に入ってからLand of LispでCommon Lispを始めて
ますますVimからEvilへの比重が高くなってます。
本題。
Land of Lisp の7章あたりでextパッケージを使うコードが出てくるのですが
Clozure Common Lispを使ってると
extパッケージが存在しないのが原因でエラー出ます。
環境はwindows 8.1 64bit ccl-1.10-windowsx86.zip
(もしかしたら設定とかパッケージ導入法などあるかもしれませんが
私のgoogle検索力や英語力では見つかりませんでしたorz)
windowsバイナリに処理系変更しました。
設定後、REPLで
(ext:shell)
を入力してコマンドプロンプト起動時メッセージ出てきたら
extパッケージ入ってます。
slime側で上手くいかない場合は環境変数pathにclispのパス通すと
上手くいったりします。
他にもハマったこと出来たら追記すると思います。
早速追記:
エラーにwide characterとか書かれてたら
多分日本語等のマルチバイト文字が原因。
; コメントでも引っかかるのは予想外だった。
そのうち日本語対応の設定探そう。
Emacs24.4でEvil
( ´_ゝ`)ノシ
この記事はEvil Advent Calender2014 6日目になります。
2015年になってしまいましたが今年のクリスマスまでには
25日分埋めていきたいです。
【宣伝】Emacs-jpでは毎週土曜日22:00よりinit.el読書会を行っております。
チャットサービスlingrでのオンライン開催です。
(facebookアカウントをお持ちならすぐログインできます。)
http://emacs-jp.github.io/reading-init.el/
毎週開いているのでinit.elを見てもらってアドバイスをもらうこともできますし、
プラグインについての情報を聞くことのできる詳しい方も参加しています。
(web検索で上位hitする記事より新しい情報聞けることもある)
1 Emacs24.4とEvil-1.0.8の問題
2 対策
対策としては以下のリンクのevil-1.0.9を使えば回避できます。
https://bitbucket.org/lyro/evil/downloads
元々のEvilをインストールしたフォルダの中身を
lyro-evil-XXXXXXXフォルダの中身に入れ替えると
動きました。
(もっとスマートな方法があるかもですが私は知りません。)
これでEmacs24.4でEvilライフを始められますね。
VimとEmacs、もしくはテキストエディタのカーソル移動
2015/12/19 viとemacsの基本的なカーソル移動操作の記事作りました。
↓今見てるこの記事はポエムなのでキーバインドが見たい方はココのリンクから↓
VimとEmacsのカーソル移動 - yoshitia’s diary
( ´_ゝ`)ノシ この記事はEvil Advent Calender 24日目になります。
Evil使いにだってクリスマスは来ます。Evilデクリスマス(´ω`)ハヤル!
目次
1 ついつい多用するカーソル1文字移動
Vim⇒Evilの皆さん、hjkl多用してますか?
Emacs⇒Evilの皆さんC-f、C-b、C-n、C-pを evil-insert-stateで
バリバリ使ってますか?
私は使ってます。
ただ、そうやっていると、「hjkl(C-f、C-b、C-n、C-p)は2回か3回くらいで
それ以上は単語単位移動とか画面移動、 行指定移動を駆使した方がいい。」
とアドバイスされた経験はないでしょうか?
他のテキストエディタでも 方向キー以外の
カーソル移動用キーボードショートカット、 あると思います。
でも正直、hjkl押しっぱなしで足りてる、そう思います。
なら何のためにあるんだろう?
そう思ってた時期がありました。
2 良い道具がその力を発揮する時
昔居た職場で、そこそこいいお値段のする工具を買っては
「工具にそこまで金掛けなくてもいいだろう?」と
上司や経理に度々お小言をもらう先輩が居ました。
先輩曰く、「いい仕事をするならそれなりの道具が必要だ」と。
この辺りは道具にこだわる人なら良く主張すると思いますが、
次の一言は初めて聞きました。
「良い道具の真価は困難な状況で発揮される」
例えば、ネジを回すドライバーだと
買った値段がどうであれネジを回せるのは同じです。
しかし、古くなって、ネジ頭のドライバーを当てる部分が
すり減ってたりすると 道具の差が出てきます。
パッと見わからなくても古いネジを
簡単に回せるかネジ頭をダメにしてしまうか、
そこに道具の価値の差が出るのです。
3 多彩なカーソル移動方法の真価
カーソル移動の話に戻ります。
端的に言うとhjklや C-f、C-b、C-n、C-pで間に合ってしまうのは
現在のPCのスペックがviやEmacsなどが生まれた当時より高いからです。
vi開発当初時代のコンピュータに触れたことがないので伝聞になりますが、
キー入力がどうこう以前に、画面一杯にファイルの中身を表示することと
テキスト入力を同時に行うとすぐに動作が重くなったそうです。
そんな状況下でテキスト入力モードと
テキスト編集・カーソル移動用モードを分けたのはすごい発想だと思います。
ただ、モードを分けてても動作が重たかったので
なるべくカーソル移動のタイプ数を減らすために
画面移動・行指定移動・単語移動・行頭移動・行末移動と
多彩な移動方法を駆使して快適なテキスト編集を志向したようです。
私も似たような経験をしていれば「hjklは多用するな」
と言うと思います。
この先hjklを多用しても快適に動くマシンばかりの幸せが
ずっと続くか 誰にもわからないので。
4 これからのありそうな開発環境に備えて
異様に進んでるように感じます。
Raspberry Piのような製品が
ますます一般向けのコンピュータを利用した製品の
小型化、低コスト化、大衆化を推し進めるだろう、
そう感じています。
近い将来、タブレット開発の次に小型コンピュータ開発が
盛んになるとしたら CUIがメインの開発環境になる可能性は
大いにあると思います。
そんな時、各種移動操作を身に着けてなくても
存在を知っていれば チートシートの一つも印刷して、
方向キーを使って頑張るであろう人を横目に
快適なテキスト編集をVimでEmacsでEvilで楽しめると思います。
Evil、始めましょう。
Merry Christmas!
Happy Evil life!