« 2008年11月 | トップページ | 2009年3月 »

2008年12月

2008年12月23日 (火)

vim grepした結果を編集して使う。

vimでよく使う機能としてgrepがある。
最近はwindowsでもそのまま使えて拡張子も指定できるvimgrepをよく使っている。

例えば 現在のディレクトリ配下(サブディレクトリも含む)の拡張子.pyに対して"Spend"を検索

:vimgrep "Spend" **/*.py

 lifeaccountnote.py|38 col 13| datas = Spending.all().filter('user',user).filter('date >=',fromdate).filter('date < ',todate)
lifeaccountnote.py|52 col 7| class Spending(db.Model):
lifeaccountnote.py|72 col 3| spending = Spending(user=user,
lifeaccountnote.py|76 col 3| spending.category=db.Key(category)
lifeaccountnote.py|77 col 3| spending.put()
lifeaccountnote.py|85 col 6| if spending.category.name in accountData:
lifeaccountnote.py|86 col 19| accountData[spending.category.name] += price
lifeaccountnote.py|88 col 19| accountData[spending.category.name] = price

上記のようなフォーマットで編集不可の形式で下windowに出力され、enterでカーソルのある行の結果にjumpできる。 これはこれですごく便利なのだが、別に興味のない結果行を削除したかったり、後で vimgrepを再び使用せずに、出力結果を再利用したい時はどうしたらいいのだろう? そういう場合の実行手順。

  • 1. grep結果を適当なファイル名で保存。
  • 2. 保存した結果を編集。(必要のない結果を削除したり等)
  • 3. :set errorformat=%f\|%l\ col\ %c\|%m
  • 4. :cf 1で保存したファイル名
  • 5. :cope

編集したvimgrepの結果ファイルに基づいたwindowが表示され、enterでjumpできるようになる。 ktkr

| | コメント (0) | トラックバック (0)

2008年12月11日 (木)

let's noteでキー入力がおかしくなる。

会社で突然iやuのキーを打つとiやuではなく、数字が入力されるようになった。
しかも画面ロック中でパスワードの入力を求められている状態でそうなってしまった
ので、ネットで調べることもできないし、悶々としていた。
1というランプがついていてそれがどうやら怪しいとにらんでいたが、どうやっても
1のランプが消えない。

ようやくどうやら、Fnキーといっしょにiやuを押すとちゃんとiやuが入力できると
わかり、ログインはできるようになった。
ネットでlet's noteでそういうエラーがあるか調べてもそれらしい記述はなかった。
それならばと、説明書をダウンロードして、ようやく1のランプの意味がわかった。

Numlock!!!

案の定Numlockを押下すると1のランプが消え、普通に入力できるようになった。
そういえば入社して一年目のときも、NumlockとScreenLockで苦しんだ覚えが。
プログラマになって、8年目も経とうというのに。。。

| | コメント (4) | トラックバック (0)

« 2008年11月 | トップページ | 2009年3月 »