Posts Tagged ‘設定’
Windowsでのコマンドライン環境はConsole2+nyaosで
この記事は主にConsole2の紹介とnyoasのLua拡張についての話です。
Windowsのコマンドプロンプトはとても使いづらいので、コマンドプロンプト代替ツールとしてckwと拡張性が優れたNYAOS(昔はnyacus)などのシェルを合わせて使ってる人もいると思います。
自分も少し前まではckw-mod+NYAOSを使っていました。
現在はタイトル通りConsole2+NYAOSにしています。
ckwやConsole2はターミナルに該当するソフトウェアで、nyaosやgitbashなどはシェルに該当するソフトウェアです。
Console2でnyaosを使うのは簡単で、Settings>ConsoleのShell(またはタブ毎の設定)にnyoas.exeのパスを入れるだけで完了です。
Console2の機能紹介
タブ
Console2の特徴してはタブを持っていることがあげられると思います。 ![]()
また、タブ毎に設定を行う事ができ、色や背景画像の設定やシェル(nyaosなど)に使うソフトウェアの指定をタブ毎に決定することができます。
日本語表示
以前は日本語がダメだったようですが、現在ver2ではフォントを日本語のものにすれば、日本語の表示も問題なく行えます。(フォントによってはおかしくなるけど)
- Console2 ! – k_maruの思うところ(今はやらなくていい設定、Console2のフォントだけ設定すればOK)
- Console2とnayosの組み合わせが使いやすい – アウルキャンプ・ラボダイアリー (設定方法)
ウィンドウの透過
ckwでよく紹介されてる機能としてウィンドウの透過機能があると思います。
Console2でもウィンドウの透過機能があります。
この透過機能はアクティブ、インアクティブの時それぞれの透明度を設定できるので、フォーカス外れているときだけ透過するなどもできます。
マウスやホットキーの設定
Console2はホットキーだけではなくて、マウスの動作、左クリックや修飾キーとマウスの組み合わせなどの挙動も設定できるので、結構細かい動作を決められると思います。
WIndowsのデフォルトであるようなCtrl+Cでコピー、Ctrl+Vでペーストなどの設定もできるので便利です
これで簡単なConsole2の機能紹介は終わりです。設定はかなり豊富なので自分好みにできると思います。
まあタブがあるだけでもかなり魅力的なターミナルです。
nyoasの設定
nyaosはUNIXライクな日本語拡張コマンドラインシェルで、とても軽くて、作者さんは日本人(@zetamatta)の方なので日本語の扱いも問題ありません。
- NYAOS を使おう! (ちょっと内容古いけど)
キーバインドやコマンドのエイリアスなどを設定して、入力履歴を残せるを保持できるようにするだけでも十分使い勝手がよくなります。
それに加えて、nyaos 3.xの特徴としてLua言語でのカスタマイズ機能あります(シェルスクリプトが書ける)
Lua拡張は_nyaのconfigファイルにもLua_eを使って書くこともできますが、拡張と設定は別ファイルに分けた方がいいと思います。(エスケープの問題とか面倒だし)
自分の場合は_nya_git.luaという感じで拡張毎のluaファイルを作成して、_nyaコンフィグファイルからsourceコマンドで読み込んで使っています。(拡張のテストするときもsourceで再度読み込めば適応されるのでデバッグしやすい)
source D:\Software\nyaos\_nya_git.lua
gitのサブモジュールの削除が一発でできるようにgit submodule rmというコマンドを勝手に足したり、NYAOS 3000でいろんなコマンドのサブコマンドを補完する – メモ@wantoraにgitコマンドを追加したものなどが入っています。
Lua自体はコンパクトな言語で、若干JavaScriptに似てる感じもあるので調べながらやればなんとか書けるものだと思います
nyaosのLua拡張の書き方は以下を参考にしました。
- Readme.txt(nyaos_ja.txt)
- MHI 3.1
- [nyaos] – メモ@wantora
Windowsのコマンドライン環境自体はこんな感じで比較的いい感じにできると思いますが、実行できるコマンドの方が貧弱なのでそっちでVMでLinuxを使うみたいな事もあるかもしれません…(まさに自分…WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築 | Web scratch)
WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築
VirtualBox orVMWare PlayerでLinux環境をWindows 7×64に構築するメモ
今回はVirtualBoxとTurnkey Linux coreを使って構築した。
と見せかけて、最終的にはUbuntu Server使う事にしたので途中まで飛ばしていいです。
なんでVMを使ってまでやるかというと
WIndowsでのCUIはConsole+NYAOSでコンソールとしていいのですが、node.jsなど実行できないものが出てきたので、VM上に環境を作ることにしました。
Cygwin : 食わず嫌いでしたが、食ったら嫌いでした。
coLinux : 64 bitが非対応でした。
必要なもの
- VirtualBox(仮想化ソフトウェア)
- TurnKey Core(サーバー、そこら辺の便利なソフトが入ってる感じのディストリビューション)
- RLogin(SSHクライアント)
Turnkey Linux coreはVM向けにovf形式でも配布してるので、OVFと書かれてるリンクからturnkey-core-バージョン-lucid-x86-ovf.zipをダウンロードして使う。
VirtualBoxを起動してメニューの仮想アプライアンスのインポートから、先ほどのovfをインポートすると自動でTurnKey Coreが仮想マシン一覧に並ぶ。(設定するのは仮想マシンの名前ぐらい)
起動するとパスワードの設定などがあって、パスワード以外はEnter押してればいいと思う。
設定が終わると起動して下のようなメニュー画面が表示される。
メニューを終了させると、CUIで操作できるけどキーやマウスの関係で扱いにくいのでSSHからアクセスして操作する。
RLoginを起動して、サーバの接続から新規追加して、プロトコロルにSSH、アドレスにはLinuxサーバーのIPアドレス、ユーザーはrootで、パスワードは最初の起動時に設定したものを入力して接続する
こっからはサーバー{ゲスト側(Ubuntu)}の設定
まずはrootだとあんまりよくないので、ユーザー(azuという例で)を追加、そのユーザーのパスワードを設定する。
root@core ~# useradd -m -s /bin/bash azu # ユーザーazuを追加する。mオプションがないとHOMEディレクトリが追加されなかった root@core ~# ls /home/ azu/ # HOMEディレクトリがあるのを確認 root@core ~# passwd azu # パスワードの設定 Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
後からログインシェルを決める場合はchsh -s /bin/bash などとする。
Ubuntu Serverを使って環境構築(改めて)
- VirtualBox(仮想化ソフトウェア)
- Ubuntu Server (ゲストOS)
- RLogin(SSHクライアント)
ホストOS | ゲストOS |
Windows 7 64bit | Ubuntu Server |
任意のポートだけを開く感じで使えるのでこっちの方がいい気がします。同様の方法でWebのポートである8080もポートフォワーディングに設定しました。
- VirtualBox + CentOSでNAT接続のポートフォワーディングを行う方法 – 大人になったら肺呼吸
- VirtualBox4.04にCentOS5.5をインストール – sdhrの日記
- VirtualBox 4.0.2のゲストにsshで接続してみる。 « chocokanpan BLOG
注意点としては18.サーバーソフトウェアの選択画面でOpenSSH SERVERを選択してSSHでつなげるようにしておくと楽でいいです(スペースキーで選択チェックが入る)
忘れた場合でも
sudo apt-get install openssh-server
サーバのIPアドレスは
ifconfig
で、わかると思います。
初期設定なら、インストール時に入力したアカウントとパスワードでログインできると思います。
SSHで鍵を使って接続
セキュリティ的にパスワードではなく鍵でSSHをつなぐのが普通だと思うので、SSHの鍵設定をします。
root@core ~# cd /home/azu/ # ユーザのHOMEへ root@core /home/azu# mkdir .ssh root@core /home/azu# cd .ssh # .sshディレクトリを作って移動 root@core azu/.ssh# ssh-keygen -t rsa # 鍵を生成する Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): turnkey # ファイル名は適当に Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in turnkey. Your public key has been saved in turnkey.pub. root@core azu/.ssh# ls turnkey turnkey.pub # .sshディレクトリに秘密鍵と暗号鍵が生成される root@core azu/.ssh# mv turnkey.pub authorized_keys # turnkey.pub を authorized_keysにリネームする root@core azu/.ssh# ls authorized_keys turnkey
RLoginにファイル転機能がついてるので、.sshディレクトリにある秘密鍵(turnkey)をホスト側に移動させます。
ゲスト側(Ubuntu)に秘密鍵は置いておく必要はないので、秘密鍵(turnkey)は転送したら削除します。
# それぞれをnoに書き換える
PermitRootLogin no
PasswordAuthentication no
UsePAM no
# 面倒だったので一度rebootした自分はportも22から適当なものに変更しました。
が大変参考になった。
まずは適当な共有フォルダを設定しておく。
そして、起動してるVMのメニューにある”Guest Additionsのインストール”を押しておく。
何にも起きてないように見えるが、CDドライブにCDが入った感じになる。
sudo apt-get install build-essential linux-headers-`uname -r` sudo apt-get install xserver-xorg xserver-xorg-core #必要なものを先にインストールしておく ################### # ここまでにGuest Additionsのインストールを押してマウントの準備が必要 ################### mkdir /tmp/cdrom sudo mount /dev/sr0 /tmp/cdrom # Guest Additionsのディスクをマウントする cd /tmp/cdrom sudo bash VBoxLinuxAdditions.run --nox11 sudo addgroup --system --quiet vboxsf sudo usermod -a -G vboxsf azu # ユーザーをvboxsfグループに加える sudo reboot # リブート azu@ubuntu:/media$ ls cdrom sf_azu
リブートすると/media以下にsf_フォルダ名が現れてアクセスできるようになる。
VirtualBoxをタスクトレイに入れて管理するにはVBoxHeadlessTrayがおすすめ。ヘッドレスモードやシャットダウンとなどの操作もタスクトレイで行えるのでとてもいい。
ついでにNode.jsの環境も作ってみる
Node.jsは直接入れるよりもバージョン管理するツールから入れるのがいいらしいので、naveかnvmを使う事にした。
naveは何かインストールが面倒だったので、nvmを使う事にした。
nvmは自動でnpmもインストールしてくれるので便利。
azu@ubuntu:~$ sudo apt-get install build-essential libssl-dev git-core azu@ubuntu:~$ sudo apt-get install curl # 必要なものを先にインストールしておく azu@ubuntu:~$ git clone git://github.com/creationix/nvm.git ~/.nvm azu@ubuntu:~$ cd .nvm/ azu@ubuntu:~$ bash ./nvm.sh azu@ubuntu:~$ nvm install latest # 最新のnodeをインストールする azu@ubuntu:~$ node -v v0.4.5
毎回 bash ./nvm.sh 実行するのは手間なので。
.bashrc を編集して、
. ~/.node/nvm.sh nvm use latest
を書き加えておきます。
- SummerWind – Node.jsの管理はnvmで
- naveでNode.jsのバージョン管理&イベントループ詳説(1/3)- @IT
- Amazon EC2 MicroインスタンスのAmazon LinuxにNodeをインストールした – 自分の感受性くらい
雑記
VMWareはスタートアップにいろんなもの生やすし、ダウンロードも登録必要で面倒なので、VMWareよりもVirtualBoxの方が好みでした。
目標としては、Cygwin HereみたくWindowsのエクスプローラー上のコンテキストメニューから、SSHクライアントを開いてそのときに同時に共有フォルダのsf_azu以下にある同じフォルダまで移動したいのだけど、お客様の中でよい方法をお知りな方がいらしゃったらお願いします。
e.g)
windows : C:\Users\azu\Downloads のコンテキストメニューからSSHクライアントを開く
Ubuntu : 渡されたパスを元に /media/sf_azu/Downloads をカレントディレクトリにする
SSHクライアントのマクロみたいので実現するのかな。
今使っているWebStormプラグイン
PHPStorm/WebStormプラグインはまだ余り数がないので拡張性はそこまで高くないのですが(JetBrains製IDEで互換性があれば良いのに)、幾つかプラグインを入れてるので紹介
プラグインはSetting->Pluginから検索すれば全部出ると思います
- Markdown
名前の通りMarkdown記法のシンタックスハイライトに対応するプラグイン。
WebStorm内でプレビューも行えるため、Githubのreadme.mdを書くときにものすごく便利
デフォルトだとFile Typeに*.mdがないため(今は入ってるかもしれない)、mdファイルを開いても有効にならないことあるので、File Typeで*.mdがを追加すると有効になる。
- FavoriteFolders
WebStormはJava製なためかファイルダイアログがOS標準とは違うため、目的のフォルダまで移動するのが面倒くさい。
FavoriteFoldersはファイルダイアログに任意のフォルダまでのショートカットを付けてくれるプラグイン。 - Scratch
Alt+C, Alt+Cで一時的に何か書いておけるtxtファイルを開いてくれる。
わざわざファイルを追加するのは面倒だし、そこにファイルが残ってしまうので地味に便利 - CoffeeBrew
CoffeeScriptに対応してくれるプラグイン
シンタックスハイライトなどは対応してるけど、補完などはできないのでちょっといまいち - Pomodoro-tm
Pomodoro Technique的なタイマープラグイン。
25分タイマーで計って5分Breakタイムのような設定ができるぐらいで普通のタイマーと変わらないです。
時間忘れていじってしまうのを防止
今のところこれぐらいです。 (あまり数がないのもあるけど)デフォルトでもかなり機能的に優秀なのでそこまで不便はしないですね。
おまけ
WebStormが今春のキャンペーン中で半額で購入できるようになってるみたいです。(今回は他のIDEはなってなかった)
是非この機会に触ってみるといいかもしれません。
- WebStorm & PhpStorm Blog » Blog Archive » 50% OFF personal WebStorm licensesi
- http://blogs.jetbrains.com/webide/2011/04/50-off-on-personal-webstorm-licenses/
GreasemonkeyからScriptishへ環境設定を移行する
GreasemonkeyからScriptishへの環境移行メモです。
ScriptishについてはScriptish wiki!やScriptish (Greasemonkey フォーク版) キタ━━━ヽ(゚∀゚)ノ━ – hogehoge @teramakoを見るとよいです。
簡単にまとめると、使えるAPIが増えた(開発者的にうれしい)、管理画面の設定項目がGreasemonkeyより豊富(Greasemonkey0.9で削られたinclude,excludeの設定もGUIからできます)、UIが日本語化されてる(ちょっと分かりづらい訳だけど…)
Greasemonkeyからフォークしてるので、Greasemonkey向けに書かれたスクリプト自体の互換性は問題ないです。
逆にScriptishの新APIを使ったものはGreasemonkeyでは動かない事があるぐらいだと思います。
環境の移行方法
How To: Manually transfer user scripts from Greasemonkey to Scriptish – GitHub
に手動での環境移行手順が書かれています。
簡単に書き出してみると
- スクリプトフォルダ名はgm_scriptsからscriptish_scriptsになった
(フォルダの中のconfig.xmlや配置自体は同じなのでフォルダ名だけ変更すればOK) prefs.jsへスクリプトの設定の保存書式が変更された
これが移行時にネックになってる大きな変更で、GM_setValueなどGreasemonkeyスクリプトから値を保存するとpref.jsに書き込まれますが、そのときの書式が変わっているためGreasemonkey時に保存した値が引き継がれません。
一応手動での書き換え手順も書かれています。
greasemonkey.scriptvals から extensions.scriptish.scriptvals へ置換する
スクリプト名とネームスペースの間の/を@に置き換える
GreasemonkeyとScriptishのpref.jsの書式の違いを見てみると
user_pref("greasemonkey.scriptvals.http://efcl.info//Post Now browsing to Twitter.GM_config", "{"defaultTag":"見てる:","isSelection":true,"removeUtm":true,"avoidLinktoMeta":true,"PostWithCtrl":true,"ShortCutKey":"C-Delete","ShortURL":"bit.ly","bitlyUserName":"remiko","bitlyAPIKey":"R_fa2240c646c07b2091c6bc6d109089ef","googlAPIKey":"AIzaSyDYer57o2GyHX_xylyaa4iGIyyjd81kGxc"}");// =>
user_pref("extensions.scriptish.scriptvals.PostNowbrowsingtoTwitter@httpefcl.info.GM_config", "{"defaultTag":"Now browsing:","isSelection":true,"removeUtm":true,"avoidLinktoMeta":true,"PostWithCtrl":true,"ShortCutKey":"C-Delete","ShortURL":"bit.ly","bitlyUserName":"remiko","bitlyAPIKey":"R_fa2240c646c07b2091c6bc6d109089ef","googlAPIKey":""}");という風にpref.jsに保存される書式が変化しています。
ネームスペースとスクリプト名の位置も逆転してまたスペースなど除去されてたりします。
手動でやっても結構手間がかかるので、大事なものだけやって、後は普通に設定し直した方が楽だと思います。
一応、自動的にできるようにNILScriptでGreasemonkeyToScriptish.ngというものを作ってみました。
pref.jsに保存された値をGreasemonkeyからScriptishの書式へ変更する
pref.jsと同じディレクトリにこのngスクリプトを置いて実行するとnew_pref.jsが生成される。実行する前にpref.jsのバックアップをとっておいてから、pref.jsと同じディレクトリにおいて実行すると、それぞれの値を書き換えたnew_pref.jsというのができるので、後はpref.jsのコピーし直すかpref.jsにリネームして使うなどしてください。
不完全かもしれないので、保証はできません。
Dropboxフォルダでスクリプト管理
これを期にGreasemonkeyスクリプトのファイル自体をDropboxで共有しようと思ったので、移行手順の1の時にDropboxにgm_scriptsフォルダを移して、プロファイルフォルダにscriptish_scriptsへのシンボリックリンクを作りました。
Windowsだとmklinkとかコマンドラインがややこしいので、Link Shell Extensionを使ってシンボリックリンクを張りました。
このソフトを使えば普通のショートカットみたいにシンボリックリンクが貼れるので簡単。
(シンボリックリンクのフォルダ名をちゃんとscriptish_scriptsにするのを忘れない)
追記:起動時に変更がたくさんある(Dropbox共有してると起きやすい)とnotificationが大量に通知されて使い物にならないので、
Manual: Preferences – GitHubを参考にabout:configのextensions.scriptish.enableScriptRefreshing を false にして変更の監視をオフにしました。副作用として、スクリプトのメタブロックを書き換えても反映されなくなると思います。
(Greasemonkey0.8あたりと同じ動作になると思う)
これでGreasemonkeyからScriptishへの移行手順は終わりです。
Firefox4への移行と同時にGreasemonkeyもScriptishへ移行を行えば、無駄なスクリプトを削除できたり汚れたpref.jsも掃除できるので同時期にやると良いかと思います。(使ってないGreasemonkeyスクリプトを削除するngスクリプトも以前書きました)
まだどっちのアドオンが優れてるのかはよく分かってないので、使ってるうちに何らかの違いが分かるんではないかと。
(Scriptish向けのスクリプトってなんて呼べば良いんだろ?)
Thinkpad Edge 14″を購入して最初にやった事などの設定まとめ

ThinkPad EdgeとLoox UとiPhone3G
| プロセッサー | インテル Core i3-380M プロセッサー (2.53GHz, 3MB L3, 1066MHz) | ||
| 初期導入OS | Windows 7 Home Premium 64 正規版 | ||
| 初期導入OS及び言語 | Windows 7 Home Premium 64 正規版 – 日本語 | ||
| ディスプレイ | 14.0型HD液晶 (1366 x 768 16:9 LEDバックライト)光沢なし – ミッドナイト・ブラック(光沢なし) (WWANアンテナなし) | ||
| グラフィックス | インテルHDグラフィックス | ||
| メモリー | 2GB PC3-8500 DDR3 (1スロット使用) | ||
| キーボード | 日本語キーボード | ||
| ポインティング・デバイス | ウルトラナビ(TrackPoint + タッチパッド) + 指紋センサーなし | ||
| ハード・ディスク・ドライブ | 320GB ハード・ディスク・ドライブ, 5400rpm | ||
| オプティカル・ドライブ | DVDスーパーマルチ, 固定 | ||
| バッテリー | 6セル Li-Ion バッテリー | ||
| 電源アダプター | 65W ACアダプター | ||
| Bluetooth | 内蔵Bluetooth | ||
| ワイヤレスLAN アダプター | ThinkPad IEEE 802.11b/g/n ワイヤレスLAN (WiFi準拠) | ||
| 言語内容 | 日本語 | ||
を¥45,276 ほどで購入したのでそれの設定メモ
twicliの設定とプラグインのメモ
ずっとメインで使っているTwitterブラウザクライアントのtwicliの設定メモ
twicliはブラウザで動くのでUnified Sidebarを使ってサイドバーに縦置きタブバーと一緒に表示しています。
サイドバーへの表示はブックマークは面倒なのでCustom Buttonsのボタンとしておいています。
次はCSSの設定、CSSは基本的に最小限で無駄なものを消したりするぐらいです。
.uname{
display:none;
}
#counter{
font-size: 9pt!important;
}
/* Removeボタン */
#user_info > input{
display:none;
}
/* shortcut.js */
.selected {
background-color: #DDD !important
}Removeボタンを消してるのはプラグインの関係で誤爆を防ぐためです。(通常は確認ダイアログがでるので誤爆しないかな)
次にプラグインの設定
ssl.js
regexp.js
lists.js
shortcutkey.js
search.js
search2.js
followers.js
shorten_url.js
resolve_url.js
translate.js
scroll.js
thumbnail.js
geomap.js
tweet_url_reply.js
https://gist.github.com/510112.txt#multi-users.js
https://gist.github.com/567983.txt#twicli_post_canceler.js
https://gist.github.com/655300.txt#switchViewedSearches.js
data:text/javascript,var fst=$('fst');fst.focus=fst.select=confirm=Array;URLじゃないの部分はデフォルトのプラグインなので説明を省きますが、最後の4つが使ってるプラグインです。
一度タイムラインを表示したことのあるユーザーのタイムラインを簡単に再表示するプラグイン
ポストをした際に5秒以内なら中止できるボタンを出す
ハッシュタグや検索結果のタブを一つのタブにまとめる。
サイドバーで使うと狭いので、まとめるために使ってる。
最後のデータスキームURIとなってる部分はわざわざjsファイルとして読み込ませるほど長くはないので直接書いています。
data:text/javascript,var fst=$('fst');fst.focus=fst.select=confirm=Array;これは、twicliはデフォルトだとポスト後に入力フォーム(fst)へのフォーカスしてしまって、サイドバーで使っているとフォーカスが奪われるのでかなり邪魔になります。なので、focusやselectを潰して、またRTなどで確認ダイアログが面倒になっているので同じように潰しています。(Removeボタンも確認ダイアログがなくなるので、RemoveボタンはCSSで非表示にしています)
他のTwicliプラグインはtwicli plugins – GitHubにまとめられているそうです。
Pickup Patternはそこまで使ってないでの省略。
twicliはJavaScriptで拡張できて、ブラウザで動くのでどこでも使える感じで便利。
みんなもっと設定公開するといいよ
- twicli – A Web Browser-Based Lightweight Twitter Client
- http://www.geocities.jp/twicli/
スニペット管理もできるクリップボード履歴拡張ソフトウェア「clipex」
クリップボード履歴拡張ソフトのclipexの紹介です。
しばらくペースターを使っていたのですが、最近になってclipexに移行しました。
clipexの特徴
- 履歴アイテムの振り分け
- アプリ別に表示アイテム(定型文とか)を変更できる
- FIFO/FILO (連続貼り付けみたいな機能)
- PAP対応
- PAP(Pop up in Application Process)という造語
- アプリケーションプロセス内ポップアップ機能(エクスプローラのファイル名変更等でフォーカスが失われたりしない)
- スクリプト機能(IronPython、IronRuby、C#) JScript対応しないかなー
- マクロ記録
- インクリメンタルサーチ機能 ( 重要! ) + migemo対応
という感じで一通りのクリップボード拡張+検索機能が付いてる感じのソフトウェアです。
オプションも充実しているので、設定にはそこまで困らない感じがします。(ポップアップとインクリメンタルサーチは別々のショートカットで起動できるようになるともっと良いのだけど)
インクリメンタルサーチ機能は貼り付けのポップアップとは別々に存在しているので、貼り付けのUIはよく見るコンテキストタイプの形になっているので安心できます。
面白い機能としてフィルター機能があります。これは正規表現や実行アプリ名を元に履歴やアイテムに振り分けることができる機能です。逆に正規表現でマッチしたものは履歴に追加しないなどの設定も行えます。
例えば次のような正規表現にマッチしたものを入れるアイテムフォルダを作っておけば、JavaScriptの関数っぽいものだけを格納できます。
[\s\t]*function +[a-zA-Z0-9_]+ *\([^\)]*\) [\$a-zA-Z0-9_]+.*?function *\([^\)]*\)
スニペット管理としてのclipex
メインウィンドウの登録アイテムには任意のフォルダを設定できるので、それをスニペット管理として扱うこともできます。
要はフォルダで分別できる定型文機能なので、自由にフォルダ分けしてその中に好きな定型文を書いていくだけです。
ここで登録したアイテムはポップアップメニューに表示させられるので、そこから選んでペーストするのも良いですがclipexはインクリメンタルサーチが使えます。
インクリメンタルサーチには登録アイテムも検索候補に存在するので、登録しまくった後に検索してペーストできるスニペット管理ソフトとして最適だと思います。クリップボード履歴拡張 と インクリメンタルサーチ という機能を持ったソフトウェアはeclipなど過去にも存在していましたが、イマイチ使い勝手が良くなかったりしていたので、clipexは両方を備えていてとても使い勝手が良いソフトとなっていて素晴らしい。
まだちょっと不安定な所もあって、ポップアップやインクリメンタルサーチの結果から選択してからペーストするまでに無駄に時間がかかったり(ここは何とかして欲しい)、フィルター機能を設定して大きな文字列をコピーするととても重くなったり、設定画面の表示などが重くなったり、クリップボード拡張の鬼門であるOfficeソフトとの相性が余り良くなかったりします。
ただこれはアップデートにより解決される可能性はあり、また現在頻繁にアップデートされているため、clipexにはこれからも期待しています。
- eclipからclipexに乗り換えた – 教えてお星様
- http://d.hatena.ne.jp/kkk6/20110114/1294978827
- Vector: clipex – 新着ソフトレビュー
- http://www.vector.co.jp/magazine/softnews/101204/n1012041.html
- clipexの詳細情報 : Vector ソフトを探す!
- http://www.vector.co.jp/soft/winnt/util/se486732.html
Post Now browsing to Twitterで設定画面が開かないバグ修正
Post Now browsing to Twitterで設定画面がうまく開かない現象が起きていたみたいで、以前はGM_configというGUI用のライブラリを使っていたのですが、今回usconfigに移行しました。
なので、今まで設定画面が開かないなどの現象が起きていた人はインストールしなおしてください。
(おかしいときは ツール→Greasemonkey(もしくはステータスバーの猿アイコン)→ユーザースクリプトの管理→Post Now browsing to Twitterを選択→✓関連付けられた設定も削除にチェック→アンインストール → インストール)
こっからはGM_configからUSConfigへ移行方法について。
GM_configは前から少し不安定な感じがあったので、同種のライブラリであるUSConfigに変えました。
GM_configとUSConfigの違いを簡単に挙げてみると(移行するに当たっての変更点)
まずはGUIの書き方が別物なので、そこはすべて書き直す必要があります。
GM_configの場合
GM_config.init('Configuration for Post Now browsing to Twitter', {
'defaultTag': {
'label': 'Prefix:',
'type': 'text',
'default':'Now browsing: '
},
'isSelection': {
'label': 'Use selectionQuote',
'type': 'checkbox',
'default':true
},
'ShortURL': {
'label': 'Short URL',
'type': 'select',
'options': {
'bit.ly': 'bit.ly',
'j.mp': 'j.mp',
'goo.gl': 'goo.gl',
'is.gd': 'is.gd',
'tinyurl.com': 'tinyurl.com'
},
'default':'bit.ly'
},
'ShortCutKey': {
'label': 'ShortcutKey:',
'type': 'text',
'default':'CS-Enter'
},
'PostWithCtrl': {
'label': 'Post with Ctrl+Enter:',
'type': 'checkbox',
'default': false
},
'bitlyUserName': {
'section': ['bit.ly'],
'label': 'bit.ly Username:',
'type': 'text',
'default':
'remiko'
},
'bitlyAPIKey': {
'label': 'bit.ly APIKey :',
'type': 'text',
'default': 'R_fa2240c646c07b2091x'
}
}, configStyle , {
open: function () {
// ショートカットの入力補助
var iframe = document.getElementById("GM_config");
var iframeDoc = iframe.contentDocument;
iframeDoc.getElementById("field_ShortCutKey").addEventListener('keydown', function (evt) {
evt.preventDefault();
this.value = shortcut.get(evt);
}, false);
// OAuth Setting
if (TWOauth.isAuthorize()) {
TWOauth.injectToConfig();
} else {
XHRloading.createText(iframeDoc);
TWOauth.getRequestToken(TWOauth.injectToConfig);
}
},
save: function () {
} // reload the page when configuration was changed
});USConfigの場合
Config.define('usc_basic', function() {
with (this.builder) {
var shortURL_opt = [
'bit.ly',
'j.mp',
'goo.gl',
'is.gd',
'tinyurl.com'
]
dialog(
"Post Now browsing to Twitter Settings",
{ width: 600, height: 700 },
section(
"User options",
"Behavior/keyboard Preference",
grid(
text("Prefix:", 'defaultTag', "Now browsing: ", { size: 20 }), '\n',
checkbox("Use selection quote", 'isSelection', true), '\n',
checkbox("Post with Ctrl+Enter", 'PostWithCtrl', false), '\n',
text("ShortcutKey:", 'ShortCutKey', "CS-Enter", { size: 16 })
)
),
section(
"Short URL options",
"select used Short URL service",
grid(
select("Short URL Services", 'ShortURL', shortURL_opt, "bit.ly"), '\n',
text("bit.ly Username:", 'bitlyUserName', "remiko"), '\n',
text("bit.ly APIKey :", 'bitlyAPIKey', 'R_fa2240c646c07b2091c6bc6d109089ef', { size: 30 })
)
),
section(
"OAuth Authorization",
"Sign in with Twitter"
)
);
}
}, {
saveKey: 'GM_config',
aftersave: function() {
},
afteropen : function() {
// ショートカットの入力補助
var iframeDoc = this.frame.contentDocument;
iframeDoc.getElementById("control_ShortCutKey").addEventListener('keydown', function (evt) {
evt.preventDefault();
this.value = shortcut.get(evt);
}, false);
// OAuth Setting
if (TWOauth.isAuthorize()) {
TWOauth.injectToConfig();
} else {
XHRloading.createText(iframeDoc);
TWOauth.getRequestToken(TWOauth.injectToConfig);
}
}
});二つを見比べると、GM_configはオブジェクトを定義する感じだけど、USConfigはその都度関数を呼び出す感じになってる。レイアウトの自由度はUSConfigの方が上ですが、ちょっとインデント管理が大変で書きにくい。
またUSConfigではselectに連想配列っぽいオブジェクトを使えないので、配列に直す必要があります。
後、Text() のデフォルトサイズが少し小さいので第4引数で属性にsizeを追加してます。
最後の空sectionはafteropen時に書き換えるようにしてるので、本質とはあんまり関係ないです。
USConfigの方がConfig.define()でのコールバック(afteropenなど)が豊富なので、細かい制御がしやすいと思います。
そのコードバックで設定画面のiframeをとるにはthis.frameとすればよいみたいです。
次に設定情報の取り出し方
GM_configがそのつど、keyを指定してvalueを取り出す感じだったのが(GreasemonkeyのGM_getvalueに近い)
GM_config.get(key);// value
USConfigでは設定全部をまとめたオブジェクトを最初にロードする感じになっています
var settings = Config.load(); settings.key;// value
また、設定を保存するキーの初期値はGM_configと違うのでそのまま移行させるためにはsaveKeyを’GM_config’にします。
Config.define('dialog_name', function() { with (this.builder) {
dialog(...);
}}, {
saveKey: 'GM_config',
aftersave: function() {...},
});
後はGM_config.*()がConfig.*()など細かい違いあるので、それを手直しすれば移行できました。
(GM_config.close()がConfig.remove()だったのが少しはまった)
Googleのマルチアカウント機能を有効化する方法
GmailやGoogle CalendarなどGoogleのサービスを、複数のアカウントで同時に使えるようになるMultiple Sign-In機能がリリースされたようなので使って見ました。
現在は以下のサービスでマルチアカウントがつかえるようです。
- Calendar
- Code
- Gmail
- Reader
- Sites
有効化する方法はEnabling multiple sign-in : Getting started – Accounts Helpに書いてあります。
簡単に有効化する手順を書くと
- アカウント情報を英語のインターフェースにする。
英語にしないと有効化できてないような気がします。
自分はiGoogle の設定から言語をEnglishにすることで変更できました。
- multiple sign-in settings page へprimary(主)となるアカウントでアクセスする
- 有効化を選んでチェックボックスに全部✓をいれてSaveする(この状態だと英語の説明文がでますが)
既に日本語訳もあったりしました。
- Saveしたら一度Googleからログアウトします。
- Google Readerなどのマルチアカウントが使えるサービスにログインし直すと、右上のアドレス部分に▼がついてので、そこから”別のアカウントでログイン”をクリックすると別のアカウントでもログインでき、一度ログインすれば切り替えも同じ所からできます。

Multiple Sign-Inは複数のアカウントの切り替えが簡単というだけじゃなくて、同時に複数のアカウントでログインできるので2つのタブで2つのアカウントを同時に使うなどが行えます。
人によってはまだ使えないかも知れません。Gmailが上手くできなかった…
でもGoogle Account Multi-Login for Greasemonkey みたいなGreasemonkey使わなくてもいいのでとても便利。
JailbreakしたiPhone3Gに入れていたCydiaアプリ
iPhone4を買ったためiPhone3Gはメインではなくなったので、iPhone3G+OS3.1.2JBに入れていたCydiaアプリの記録。
以前書いた脱獄時のメモの今版(ちょっと古いけど)みたいなもの。
- [脱獄]iPhoneに入れているJailbreak向けアプリ | Web scratch
- http://efcl.info/2008/1018/res355/
入れて直ぐ外したのも混ざっているので、見ている頃と機能が違うものも含まれます。
- Action Menu
Favoriteのためにいれてた。Action Menu Plus Packは競合しやすいので外してた。 - AppLinks
アプリのシンボリックリンクを作ってくれる。iFunboxなどから見るのに便利 - Activator
まあ使ってれば勝手に入ってる事がほとんど。設定用 - Backgrounder
マルチタスク - Kirikae
Backgrounderとセットで。アプリの切り替え - Battery Control
電池を数値で表示する - SBSetting
JBで快適に生活するために必要なシステムランチャーみたいなもの。 - Browser Changer
デフォルトだとsafariで開くがそれの代わりに起動するブラウザアプリを決められる。 - iPod widget
SBSettingからiPodの再生/停止ができる - CyDelete
通常のappのようにCydiaアプリもspringboardからアンインストールできる。 - Cydget
ロック画面をカスタマイズするためのスクリプト実行環境。Lock calendar用 - Lock calendar
ロック画面にカレンダーの予定を表示。
Google Calendarとカレンダーをプッシュで同期させれば、domo todo+などで追加した予定がロック画面に自動で表示されるのでかなり便利。(Google CalendarをTodoとして使う理由) - iFile
エクスプローラ的なアプリ。多分必須なぐらい使えるアプリ - infinidock
ドックを横にもスライドでき、ドックにおけるアプリの個数も変えられるのでかなり重宝する。 - MultilconMover
springboard上で複数のアプリを同時に選択して移動させられる。整理用アプリ - Panorama
springboardの背景画像(壁紙)を設定できる。名前の通り、一枚の横長な画像を設定して少しづつスライドさせて表示する。
一部アプリではロード画面中にもなぜか設定した背景が出てくるので意外と面白い。
Simple Background でも似たようなパノラマなホーム壁紙ができるみたいです。(ちょっと調整がしにくそうだけど) - Shrink
springboardのアイコンのサイズを変えられる。 - PasteboardStacker
moyashiさんのクリップボード履歴アプリ。(もう配布されていない)
Action Menuのやつは使えない事があったのでこっちを使用してた。
クリップボード関係はOS2.xの時の方が圧倒的にできがよい。 - PrivaCy
アプリ内でトラッキングなどを防止する - QuickScrool2
スクロールバーを付けてくれるアプリ。一気に下に行くときなどにかなり便利 - Safari Tab Closer
safariのタブをまとめて閉じる - Shutter Sound Toggle
シャッター音をなくす。これが無いとスクリーンショットとかカメラ使うアプリが恥ずかしくて使えない。
トグルする必要もない気がしてきたので/System/Library/Audio/UISounds/photoShutter.caf あたりを直接いじっても同じ効果。 - Snappy
カメラの起動、保存がとても遅いiPhone3Gでは必須といえるぐらい素晴らしいアプリ。
Activatorで設定した方法でカメラを起動して直ぐにとれる。アプリ上にあるカメラを使うと落ちることがよくあったので、Snappyで取ったものをカメラロールから選んだ方が安全だった。 - SysinfoPlus
システム情報がかなり詳細に見られるアプリ。 - SprintBoard
springboardで効くQuickScrool2みたいなもの。
springboardの●部分をスライドさせるだけで高速移動できる。 - TimeServerClient
iPhoneの時計を一定時間ごとに合わせてくれる - Tweetie2RTPatcher
TweetieとTwitter for iPhoneのRT挙動を日本式に変える - UC Browser
Web kitではないブラウザアプリ。
「UC Browser」高速iPhoneブラウザ英語版で登場 | iPhone’z - wigglefree
springboardでアプリを長押ししたときのぷるぷるをさせない。








