もくもくEmacs#1に参加しました。
( ´_ゝ`)ノシ
2015年も残り3カ月と半月程度。嘘だ鈍(゚Д゚≡゚Д゚)ドコドコ?m9( ゚Д゚) ドーン!(aa辞書暴走)
yoshitiaです。
もくもくEmacsに参加してきました。
会場はpixivさんです。おー、ホントに壁にイラストがある!漫画と技術書が一緒に棚に並んでる。たまにweb記事で見る通りだー。
会の趣旨はEmacsユーザが集まってEmacsでなんかやる会。
12時半開場のところを13時15分着orz
自己紹介終わったかはわからないけど始まってる。
本日の席順。
yoshitiaは中身が増えすぎて整理できてないinit.el(500行オーバー)をinit-loader.elで
設定ファイル分割。
500行程度で整理できてないと言い出すスライムですみません(´・ω・`)
時間あったらpython用の環境設定でもする予定。
序盤、入力メソッドとかキー設定周りの話が出る。
TabキーをAltキーに変えてる人はじめて見た・・・
windows XP時代カナキーと:キーをEnterキーにしてたのであまり人の事は言えないけど。変換キーはShiftにしてた。
途中 獨自腐麗夢輪惡上等 (@tadsan) | Twitter さんからネタが。
(注意:ものすごくネタなので真面目に読むコードではない。)
evil使ってる人は私含め4人くらい。
他にはcarとcdrは素晴らしいだのcdarのaは増やすとわけわからんとか(cdaaaaaaarみたいなの)などlispな話しつつもくもく。
終盤 igjit (@igjit) | Twitter さんが進捗発表。IMEの一つ、mozcを色んなOSで利用するEmacsプラグインに手を加えてたそうです。
全角記号の入力、「」にkakkoなど何文字も入力が必要なのが不便、の改善を行ってqなど普段日本語入力で使わないアルファベットを頭に取り q( とかで各種全角括弧を出せたりする便利そうな改善。
(半角英数入力そのままに日本語へ変換できるのはかっこいい)
だが、yoshitaはおやゆびシフトかなにゅうりょくなのでかつようできない!
次に tomoya ton (@tomoyaton) | Twitter さんの進捗発表。
el-getプラグインの設定とかAtomエディタの設定。会の趣旨上何も問題は無い。
それと 獨自腐麗夢輪惡上等 (@tadsan) | Twitter さんが紹介した
coldnew/org-ioslide · GitHubはorg-mode形式のテキストをスライドにできる
すごいプラグインでした。
最後に主催者
大橋のぞみ(西木野真姫) (@supermomonga) | Twitter さんによる閉会の挨拶で終了。
雰囲気が良かったので次回も参加したいです。
yoshitiaの進捗はinit-loaderで多少init.elを分割できました。
参加者の皆さま、お疲れ様でした。
※何をするかは個々人の自由な会ので極端な話、
「Emacs知らないけど、試してみたいのでインストール」でもイケます。
もし、学校や職場でEmacsについて中々質問できる機会が無い方、
Emacsはじめたいたいけどインターネットの記事だけではわからなかった、
次の予定があれば下記のリンク先でイベントのお知らせが出るはず。
(10月やるかも、とのことです。)
LinuxのIME制御: fcitxとVimとEmacs with evil-mode
( ´_ゝ`)ノシ
yoshitiaです。
Qiitaの2014アドベントカレンダーエントリ追加できなくなっちゃったけどこの記事はEvil Advent Calender 2014の11日目の記事のつもりです。
どれだけいるかわからない
Linux使っててimeにfcitx使ってて Vim使ってて Emacsでevil-mode使ってる方向けに 一つの記事でVimとevil-modeそれぞれの esc押してノーマルモード(ステート)になる時、 imeオフにする設定を紹介します。
これができると日本語入力した後 ノーマルモードでテキスト編集しようと思ったら ひらがなコマンドはないよって VimやEmacsに怒られなくて済みます。
1 どんな設定が必要なの?
2 Vim編
http://blog.goo.ne.jp/ikunya/e/68dfba9591660b04f98c1bec66aaf9c3 で紹介されていたページのvimscriptから 「esc押してノーマルモード(ステート)になる時、 imeオフにする設定」だけを抜粋してます。
どなたか知らないけど謎の中国人さんありがとう。 感謝しつつ~/.vimrcに以下の設定を書きます。
"##### auto fcitx ########### function! Fcitx2en() let s:input_status = system("fcitx-remote") if s:input_status == 2 let l:a = system("fcitx-remote -c") endif endfunction set ttimeoutlen=150 "退出插入模式 autocmd InsertLeave * call Fcitx2en() "##### auto fcitx end ######
紹介されてるページのvimscriptを全部丸写しすると もれなくインサートモードに入ると同時にimeオンになる設定もついてきます。
3 Evil編
evil-modeの場合です。 Vim編で使われていたfcitx-remoteをここでも使います。
$ fcitx-remote
で現在のime状態を数値で教えてくれます
$ fcitx-remote -c
だとimeがオフされます。 この2つを利用した設定を~/.emacs.d/init.elに書きます。 http://d.hatena.ne.jp/syohex/20121230/1356850677 syohexさんの記事でshell-command-to-stringの存在知りました。 便利。
(add-hook 'evil-normal-state-entry-hook (lambda () (if (string= "2\n" (shell-command-to-string "fcitx-remote")) (shell-command "fcitx-remote -c"))))
Evil使いのelispデバッグ風景
( ´_ゝ`)ノシ
yoshitiaです。
この記事はEvil Advent Calendar 2014の7日目の記事になります。
先日、web-modeで出てくる
File mode specification error: (void-variable web-mode-html-offset)
の対処ですが、
emacs: web-mode のインデント設定が効かない - yoshitia’s diary
よりまともなやり方が見つかったので記事にします。
対処法
私の場合、highlight-indentation-modeが原因でした。
highlight-indentation-modeはメジャーモードがweb-modeの時に
変数web-mode-html-offsetを参照する仕様になってるっぽいので
highlight-indentation.elを直接開いて
web-mode-html-offset
(web-modeの古いバージョンで使われていた変数)
を検索、
web-mode-markup-indent-offset
(web-modeの新しいバージョンで使われていた関数)
に書き換えれば解決します。
対処法を探したやり方
ここからが本題。
結果としてweb-mode自体が原因でなかったので
どれが原因かを探す方法が必要だと思うので書いておきます。
emacsネイティブ?の方には常識かもですが
M-x backtrace
(普通よりエラーを詳しく表示してくれる関数)
を入力してからhtmlなどを開いて
メジャーモードをweb-modeに切り替えます。
すると同じ
(void-variable web-mode-html-offset)
メッセージが出てきますが手前の部分に
エラーが発生してるモードが表示されます。
私の例の様にhighlight-indentation-modeでなくても
問題のモードのファイルを開いて
web-mode-html-offset
を検索して見つけた部分を書き直せば
多分解決するんじゃないかと。
この記事のEvil要素は?
( ´_ゝ`)
インデント設定効いてないと
Evilでの操作、
i<TAB><down><ESC>
の後のドットコマンドが役に立たないのです。
(Vim ドットコマンドで調べると便利)
M-x backtraceの存在を知ってもらえれば、
と言う意図で。
プラグインの名前が付いてるのですごくわかりやすいです。
emacs: web-mode のインデント設定が効かない
( ´_ゝ`)ノシ
yoshitiaです。
Evil使いのelispデバッグ風景 あらすじ - yoshitia’s diary
昨日、Evil Advent Calenderの前フリとして特に
ブックマークやtwitterのツイートをしてないのに
見てくださった方が居たので
デバッグと言うか応急処置みたいなものを書きます。
3/28追記 ちゃんとした対処法見つけました。
Evil使いのelispデバッグ風景 - yoshitia’s diary
対象:web-mode.el内に Version: 11.0.29 って書いてあるもの
package-list-packagesでならフォルダ名に
Package-Version: 20150321.1140 とかついてるもの
不具合対策:
web-mode.el内の47行目以降、
defcustomがやたら沢山ある辺りに
(defcustom web-mode-html-offset 1 "" :type 'integer :group 'web-mode)
と書いて保存すると
File mode specification error: (void-variable web-mode-html-offset)
のエラーが消えてインデント設定が効くようになる。
場当たり的な対策なので完全に不具合解消してるかは謎。
もっといい対策があったらはてブにでもコメント下さい。
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コアとしてはこれ以上ゼイタク言ったらバチが当たると納得するレベルの
快適さです。