2009-07-21

MacVim etc

http://twitter.com/hamaco/status/1144051421
TerminalとかMacVimでC-jで日本語入力がしたい。


:inoremap <C-j> <C-^>


でいけるんじゃないかと思います。


http://twitter.com/nekoya/status/2647362030
MacVim-kaoriyaで単純なペーストがエラーで止まった。


ぜひとも .vimrc, .gvimrc, .vim を提供してくださいませ。


http://twitter.com/nekoya/status/2683243397
もしかして、MacVimのIM制御ってターミナルからだと効かない?


MacVim-KaoriYaだと、効きます。というと語弊がありますが、香り屋パッチの機能のひとつであるUIM対応により、コンソール版はUIMを制御することが可能です。

MacUIM http://code.google.com/p/macuim/ をインストールして

LANG=ja_JP.UTF-8 /Library/Frameworks/UIM.framework/Versions/Current/bin/uim-fep -u anthy-utf8 -e /Applications/MacVim.app/Contents/MacOS/Vim


など。uim Anthy vi協調モード でぐぐるとより良い設定もできると思います。


これを応用して、uim-mactsm http://slashdot.jp/~ek/journal/346651 が使えれば、コンソールからことえりを制御することも可能なはずですが、いまのところLeopardでは成功していません。

2009-07-17

Android OpenWnn

http://android.git.kernel.org/?p=platform/packages/inputmethods/OpenWnn.git;a=summary

OpenWnnが復活してますね。

$ git clone git://android.git.kernel.org/platform/packages/inputmethods/OpenWnn.git
$ cd OpenWnn
$ git log -p
fatal: bad default revision 'HEAD'


HEADがない

$ git branch -a
remotes/origin/cupcake


masterがないからみたいですね。

$ git checkout -b cupcake remotes/origin/cupcake
warning: You appear to be on a branch yet to be born.
warning: Forcing checkout of remotes/origin/cupcake.
Checking out files: 100% (285/285), done.
Branch cupcake set up to track remote branch cupcake from origin.
Switched to a new branch 'cupcake'



Android.mk
AndroidManifest.xml
MODULE_LICENSE_APACHE2
NOTICE
README.txt
libs
res
src


さて、iWnnとOpenWnnの違いや如何に。

MacVim-KaoriYa 20090711 の不具合

MacVim-KaoriYa 20090711版ですが、
http://code.google.com/p/macvim-kaoriya/
2つ不具合が判明しています。修正され次第リリースする予定です。


■ vim_mac ML: MacVim.app Snapshot 47
http://groups.google.com/group/vim_mac/browse_thread/thread/e08d96e654222a65

新規ウインドウでテキストを入力後、⌘(コマンド)-w で出てくるダイアログで「保存」を選択。ファイルネームを入力して「保存」するとSIGSEGVでMacVim-KaoriYaが終了してしまいます。
:wqやZZなどvi的な保存終了方法であれば問題ありません。


■ vim_dev ML: Crash with vimgrep
http://groups.google.com/group/vim_dev/browse_thread/thread/8799d86ddd2ee08d

vimgrep でSIGBUSでMacVim-KaoriYaが終了してしまいます。

2009-07-16

MacVim-KaoriYa チュートリアル



MacVim-KaoriYa チュートリアルです。

http://code.google.com/p/macvim-kaoriya/wiki/Tutorial_0


このあと rogue を起動して h j k l に慣れよう編が始まるわけですが、OS X には標準で rogue が入ってません。残念ですね。

Android gdbclient

http://gist.github.com/147523

pidは毎回変わるけど引数3番目なので使いやすくしてみました。
cupcakeだと/system/binにgdbserverいますよね。source build/envsetup.shしといて、
gdbclient 888
とかで該当pidに接続できます。

http://blogger.splhack.org/2009/01/android-dev-phone-1-12.html のほぼ自動化。

diff --git a/envsetup.sh b/envsetup.sh
index f8f20ab..c54c1d5 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -704,26 +704,26 @@ function gdbclient()
local OUT_EXE_SYMBOLS=$(get_abs_build_var TARGET_OUT_EXECUTABLES_UNSTRIPPED)
local PREBUILTS=$(get_abs_build_var ANDROID_PREBUILTS)
if [ "$OUT_ROOT" -a "$PREBUILTS" ]; then
- local EXE="$1"
+ local EXE="$2"
if [ "$EXE" ] ; then
- EXE=$1
+ EXE=$2
else
EXE="app_process"
fi

- local PORT="$2"
+ local PORT="$3"
if [ "$PORT" ] ; then
- PORT=$2
+ PORT=$3
else
PORT=":5039"
fi

local PID
- local PROG="$3"
+ local PROG="$1"
if [ "$PROG" ] ; then
- PID=`pid $3`
+ PID=$1
adb forward "tcp$PORT" "tcp$PORT"
- adb shell gdbserver $PORT --attach $PID &
+ adb shell su -c gdbserver $PORT --attach $PID &
sleep 2
else
echo ""

MacVim フォント設定



http://twitter.com/splhack/status/2651318201
http://twitpic.com/afjn7 - set guifont=Andale\ Mono:h14 set guifontwide=ヒラギノ角ゴ\ StdN\ W8:h14


http://twitter.com/splhack/status/2651369722
guifontとguifontwideで別のフォントにするとメリハリがでていいかも。編集のフォントパネルから変更するとguifontしか変わらないので変になりますが、:set guifont? で値の確認に使えます。



メニューから「編集」「フォント」「フォントパネルを表示」を選択するとフォントが選択できます。ヒラギノなどを選択すると文字間が広がって変な感じになりますが、とりあえず気にしません。

使いたいフォントを選択したら、

:set guifont?


と打ちます。表示されたものを .gvimrc に書きましょう。スペースが含まれている場合はスペースの前にバックスラッシュを入れる必要があります(例: set guifontwide=ヒラギノ角ゴ\ StdN\ W8:h14)。

もしくは

:mkvimrc vimrc_font


と打てば、vimrc_fontファイルに現在の設定が書き出されます。guifont部分を抜き出しましょう。

set guifont=Osaka:h14


など等幅でないフォントを指定すると文字間が大変なことになりますが、

set guifont=Andale\ Mono:h14
set guifontwide=ヒラギノ角ゴ\ StdN\ W8:h14


などguifontに等幅のフォントを指定しておけばそれっぽく見えると思います。


フォントサイズを変えるのもフォントパネルからできますし、または⌘ (コマンドキー)を押しながら「=」か「-」を押せばさくさく変更できます。set guifont?やmkvimrcなどで .gvimrc に書いておきましょう。

(7/16 追記)

メニュー「MacVim」「環境設定」「詳細」「ATSUIレンダラを使用する」をチェックしていると、たとえばヒラギノ角ゴ StdN W8のウエイトが効いてないような状態になります。チェックせずにご使用くださいませ。

またOsaka-Mono(標準設定)だと ⌘ =, - が効かないようです。

2009-07-14

android gdbserver gdbclient clewn

build/envsetup.sh を書き換えて、source build/envsetup.sh

http://gist.github.com/146948

adb shell setprop debug.db.uid 32767 して、

止まったら、adb logcatのpid見て(たとえば888)、android source directory(repo syncしてるとこ)で、

gdbclient app_process :5039 888

するとclewn越しのarm-eabi-gdbと、clewnにつながったMacVimが起動します。



こんな感じ。起動時に時間がかかるのがなんとかなれば!

2009-07-13

clewnの使い方

gdbでa.outをデバッグする場合、

__NETBEANS_HOST=localhost __NETBEANS_SOCKET=3219 /Applications/MacVim.app/Contents/MacOS/clewn -vc /Applications/MacVim.app/Contents/MacOS/Vim -va '-g -nb -c "run clewn.vim"' -ga a.out


とすればいけます。aliasなりscriptなりを用意しとくと便利です。


androidでは、build/envsetup.sh の arm-eabi-gdb 呼び出しているところを書き換えたりするといいのではないかと。

2009-07-11

MacVim KaoriYa 20090711


http://code.google.com/p/macvim-kaoriya/

更新しました。

feed://macvim-kaoriya.googlecode.com/svn/wiki/latest.xml

MacVim snapshot 46ベース、vimproc同梱、clewn同梱 です。


+netbeans_intgなのにnetbeansの外部エディタとしては(私の知る限り)使えないものの、eclim で eclipse から +netbeans_intg 経由でMacVimを使えるようです。が、-nb:localhost:port がちゃんとわたってないのか、ちょっと工夫が必要です。あと現状外部ウィンドウになります。clewnも含めていろいろと改善の余地ありです。


vimprocは、vimshell用です。

http://github.com/Shougo/vimshell/
http://github.com/Shougo/vimshell/blob/master/presen/vimshell.txt

vimshell同梱のautoload/proc.vimはインストール不要です(proc.vimがあるディレクトリにproc.soがあることを期待してますので、vimshellのproc.vimをいれるとエラーが発生します)。

お楽しみくださいませ。

2009-07-03

MacVim, MacVim-KaoriYa の不具合


http://cooldaemon.tumblr.com/post/127823725/macvim-kaoriya-tiger-10-4
何故か、MacVim だと動く rails.vim が動かなくなった。


MacVimとMacVim-KaoriYaとで、vim scriptの実行で違いがあるとすれば、日本語化関係か、香り屋パッチ由来のvim scriptでしょうか。
http://code.google.com/p/macvim-kaoriya/wiki/Readme#香り屋版の情報 で問題を切り分けられるかもしれません。


http://twitter.com/hagino_3000/statuses/2165316831
現状ではmacvimで NERD_tree.vim, fuzzyfinder.vim がまったく使いものにならない、うーん


MacVim stable 1.2か snapshot 45でしょうか。MacVim-KaoriYaでは、ちょっと試した限りでは使えているのですが(http://blogger.splhack.org/2009/05/macvim-kaoriya-snipmatevim-fuzzyfinder.html)、使いものにならないというのはどういう状態なのか知りたいです。


http://twitter.com/kei_s/status/2207985546
MacVim が落ちるのをどうにかしたい。

http://twitter.com/toshipon/status/2405311523
MacVimがクラッシュしまくってMacBookのファンが大回転してる。なんですかこれ


こちらもMacVim stable 1.2(vim 7.2.0)かsnapshot 45(vim 7.2.148)でしょうか。patchにより修正された不具合かもしれませんし、それ以外の未知の不具合かもしれません。再現方法がわかりましたら是非教えてくださいませ。


http://twitter.com/lainl/status/2295979428
MacVim設定ファイルが全くないので初めから書かなきゃいけない

メニューの「編集」から、いろいろと好みの設定に変更したら、

:mkvimrc ~/.vimrc

と入力すれば設定ファイルを作成できます。

インストール後、MacVimを起動して、:mkvimrc ~/vimrc0、いろいろメニューから設定を変えて、:mkvimrc ~/vimrc1。でもって、

:edit ~/vimrc0
:diffsplit ~/vimrc1

とすれば、変えたとこだけわかりますから、それだけ ~/.vimrc に保存するとかですね。

もしくはXcode付属のFileMergeもオススメです。

Android shared library

Androidのlinkerは/system/libか/libしか探してくれません。LD_LIBRARY_PATHを見てほしい。けどセキュリティ的な話か。

http://android.git.kernel.org/?p=platform/bionic.git;a=blob;f=linker/linker.c;hb=HEAD open_library関数参照。

でも絶対パスが使えちゃいます。

build/tools/soslim
external/elfcopy
external/elfutils

あたりも要チェック。


あ、dlopenなら、読めるところならばどこにあってもどうとでもなります。

2009-07-01

Mac OS X 用 Vim のいろいろ

まとめてみました。

http://code.google.com/p/macvim-kaoriya/wiki/Difference


MacVim-KaoriYa ですが、

http://code.google.com/p/macvim-kaoriya/

香り屋パッチの機能は必要ない、日本語化もされてなくていい、GUIは不要 コンソールで使う、といった方でも、日本語文字コード自動判別、必要なshared library、Perl/Python/Rubyのdynamic loading、Objective-C対応ctags同梱、などの利点がありますのでオススメです。
もちろんソースコードからもビルドできますから安心。http://code.google.com/p/macvim-kaoriya/wiki/Building


以下のVimを使うなら、MacVim-KaoriYaをオススメします。

http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim72
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FMacVim
http://sourceforge.jp/projects/splhack/releases?package_id=6373

もうほとんどメンテナンスしてないですしね...