タグ

ブックマーク / eclipse-a.hatenadiary.org (45)

  • 「選択されたテキストの取得」への疑問、の続き(ヤンクのメッセージが気になる) - くふんを狙え

    id:ka-nachtのコメントどおり、色々試したところ「期待通り」動作することがわかった。 論外なんだろうけど「'selection'に影響される動作が期待通り」ってのが自分の中になかった。影響されていいのね。影響されたくないなら、もう一つ関数でも書いて'selection'を保持して変更して戻しての手順を踏めばいいわけで、オプションが優先されて期待通りなのね。それで'selection'については、解決したんだけど、それとは関係ないところで気になる部分を見つけた。 何行か選択してから例の関数を実行した際に、表示されるヤンクのメッセージ。こいつが気になる。 normal! gvy のところかな。「n 行がヤンクされました」とか元気いっぱいメッセージ出してくれるので、とりあえず:silentをつけて対処。 silent normal! gvy これで気になる部分はなくなったかな。 ヤンクや

    「選択されたテキストの取得」への疑問、の続き(ヤンクのメッセージが気になる) - くふんを狙え
    sankaseki
    sankaseki 2008/06/22
    「選択されたテキストの取得」への疑問、の続き(ヤンクのメッセージが気になる) - くふんを狙え
  • 「選択されたテキストの取得」への疑問 - くふんを狙え

    http://d.hatena.ne.jp/ns9tks/20080601/1212335835 id:ns9tks 経由で「選択されたテキストの取得」をする関数を見た。 選択されたテキストの取得 - vimグループ 質問したいのだけど、どこの誰に聞いていいのか分からないのでエントリ書く。 これって 'selection' 考慮しなくていいの? ちと時間がないので、また帰ってから色々調べる。とりあえず、メモ。 :h :map | /function! CountSpaces( をちょうど見てたので疑問に思った。以上。いてきま。

    「選択されたテキストの取得」への疑問 - くふんを狙え
    sankaseki
    sankaseki 2008/06/22
    「選択されたテキストの取得」への疑問 - くふんを狙え
  • 83 myvba.vim (7-1) Vimballを開発者にとって使いやすいものにする - くふんを狙え

    Vimballはユーザにとっては割と使いやすいんだけど、開発者にはどうかなあと思う。なぜって、パッケージの作成がしにくいから。 ユーザなら*.vbaを開いて :so % でインストール、:RmVimball *.vba でアンインストール。これだけなので、割と使いやすいと思う。分かりにくいところもないし、これだけで~/vimfiles(~/.vim)に配置してくれるんだから、それなりに便利だと思う。 ただ、開発者側から見ればあまり良いとは思えない。~/vimfiles(~/.vim)からパッケージに入れたいファイルを改行区切りでバッファに表示しておいて、コマンド実行なんて、Subversionでディレクトリ切ってる場合は面倒すぎる。グローバル変数vimball_homeを使ったオプションもあるけど、いちいち設定するのもなんだかなあという感じ。 というわけで、ざっくり自分用にVimballの

    83 myvba.vim (7-1) Vimballを開発者にとって使いやすいものにする - くふんを狙え
    sankaseki
    sankaseki 2008/06/15
    myvba.vim - くふんを狙え
  • 84 tabshift.vim (8-1) tabshift.vimを好き勝手改造してみた - くふんを狙え

    あと vim script 勉強するのに id:eclipse-a ( http://d.hatena.ne.jp/eclipse-a/archive?word=%2a%5bvim%5d ) にお世話になった。 TabShift.vim - KBDAHOLIC - やぬすさんとこ あんまり「狙え」に良いことを書いた覚えはないけど、「お世話になった」なんて言われて嬉しかったので、tabshift.vim 試してみた。 動く動く!右にずれずれ、左にずれずれする。普段タブを使っていないし、vimperatorも使っていないので、そんなに:tabmove が重要なのかは知らない。知らないけど、たしかにタブをずらせないのは、おかしな気もするし、これが便利なのかはよくわからないけど、確かにこれくらいはできてもいいよね! 書かれているのは「移動量を引数で受け取って、現在のタブからそれだけ移動する」とそう

    84 tabshift.vim (8-1) tabshift.vimを好き勝手改造してみた - くふんを狙え
    sankaseki
    sankaseki 2008/06/15
    84 tabshift.vim (8-1) tabshift.vimを好き勝手改造してみた - くふんを狙え
  • 81 howm-mode.vim (2-44) キーワードまわりの修正 - くふんを狙え

    ダウンロードURL: http://khkh.o0o0.jp/vim/howm_vim.patch.20080416 キーワードファイルの再構築が正常動作しないバグを修正 前回追加したグローバル変数 howm_wildignore によるバグがキーワードまわりにあった。キーワードファイルを再構築する際に、howm_wildignore を反映してしまう。修正ついでに、キーワードファイルの再構築について書く。 初期の howm-mode.vim では RevertKeyword() というグローバル関数でこれに対応している。グローバル関数を使うのはイマイチだなと思い、<Plug>HOWM_RebuildKeywordFile を <leader>,rk にマッピングすることで対応するよう変更した。 キーワードがなにかおかしいなと思ったら <leader>,rk でキーワードファイルを再構築し

    81 howm-mode.vim (2-44) キーワードまわりの修正 - くふんを狙え
    sankaseki
    sankaseki 2008/04/20
    81 howm-mode.vim (2-44) キーワードまわりの修正 - くふんを狙え
  • 80 howm-mode.vim (2-43) データ量増大による検索速度の低下を回避する( globpath() ) - くふんを狙え

    ダウンロード はじめにダウンロードのためのURL http://khkh.o0o0.jp/vim/howm_vim.patch.20080414 欠陥「検索速度の低下」 howm-mode.vim にはいくつのかの欠陥がある。その一つが検索速度の低下である。今回は、その検索速度の低下に対処したいと思う。 howm の構造を簡単に説明していまうと、「ファイル(メモ)を作成し、必要に応じてそれらを grep 検索する」これだけのものだ。浮沈TODOだとか、予定一覧だとか、action-lock だとか言ってるが、それらも検索機能(一覧表示)か、メモ作成の補助かにすぎない。grep による全文検索を行っている以上、ファイルが増えるとどうしても速度低下が起きる。 しかし、howmも4年以上使ってると、起動や検索が耐えられないくらい遅くなります;; 仕方なく、前の3年分のデータをバックアップ後に削除

    80 howm-mode.vim (2-43) データ量増大による検索速度の低下を回避する( globpath() ) - くふんを狙え
    sankaseki
    sankaseki 2008/04/17
    80 howm-mode.vim (2-43) データ量増大による検索速度の低下を回避する( globpath() ) - くふんを狙え
  • 79 dicwin2.vim (5-4) 関連項目に飛べるようにした - くふんを狙え

    辞書引きプラグイン dicwin2.vim の話題。 「メモ」なんかで検索すると分かるんだけど、これじゃないよって結果になることがままあった。関連項目とそのURLへ飛べるようにすることでカバーすることにした。 function! s:YahooKokugo(html) let s = iconv(a:html, 'utf-8', &enc) let s = get(matchlist(s, '<body\>\_.\{-}>\(\_.*\)</body>'), 1, '') let s = get(matchlist(s, '<div id="contents">\(\_.*\)</div>'), 1, '') let s = get(matchlist(s, '<div align="center">\(\_.*\)</div>'), 1, '') let s = get(matchlis

    79 dicwin2.vim (5-4) 関連項目に飛べるようにした - くふんを狙え
    sankaseki
    sankaseki 2008/04/14
    79 dicwin2.vim (5-4) 関連項目に飛べるようにした - くふんを狙え
  • 78 howm-mode.vim (2-42) howm-actionlock-isbn.vim の公開 - くふんを狙え

    howm-mode.vim 狙えパッチ適用版で、はてなダイアリーの isbn/asin 記法に対応するための設定スクリプト「howm-actionlock-isbn.vim」を公開しました。 ダウンロード: http://khkh.o0o0.jp/vim/howm-actionlock-isbn.vim 概要 howm-mode.vim 狙えパッチ適用版で、はてなダイアリーの isbn/asin 記法が使用できます。厳密には asin には対応していないので、isbn 記法 ( detail ) のみが使用できます。 isbn10 や isbn13 から、書籍の情報を取得できます。 = [2008-04-07 14:35] isbn:4861970016:detail という風に isbn 記法を入力し、カーソルを上に置いてエンターキーを叩くと = [2008-04-07 14:35] i

    78 howm-mode.vim (2-42) howm-actionlock-isbn.vim の公開 - くふんを狙え
    sankaseki
    sankaseki 2008/04/08
    78 howm-mode.vim (2-42) howm-actionlock-isbn.vim の公開 - くふんを狙え
  • 76 dicwin2.vim (5-2) echo で表示できるようにした - くふんを狙え

    辞書引きプラグイン作成のお話。手ごろな名前が思い浮かばないのでひとまず dicwin2.vim としておく。 昨日はごめん ( AL_urlencode() ) 昨日、あたかも当然のように encodeURI, encodeURIComponent を書いたんだけど、よくよく見てみると alice.vim の AL_urlencode() なんてのがある。ほとんど同じ動作みたい。既存のものを有効活用してください。そちらをご利用ください。うん。 今日は HTML の取得、解釈、表示 さてさて、車輪のなんとかをしてしまったわけだが、気にしないで進む。昨日は、ブラウザで表示までができた。今日は、 HTML を取得して解釈して echo コマンドで表示と、ここまでやってみる。そしてこちらにできあが(ry function! s:YahooKokugo(html) let s = iconv(a:h

    76 dicwin2.vim (5-2) echo で表示できるようにした - くふんを狙え
    sankaseki
    sankaseki 2008/04/06
    76 dicwin2.vim (5-2) echo で表示できるようにした - くふんを狙え
  • 75 encodeURI, encodeURIComponent - くふんを狙え

    辞書引きスクリプト dicwin.vim が良かったので、自分でも似たようなのを作りたくなった。 まずは辞書の元データが必要なのだが、手ごろなのが見つからない。仕方がないのでウェブにアクセスして取得することにした。せっかくなので、alice.vim を活用する。 nnoremap \dy :call AL_open_url( \ 'http://dic.yahoo.co.jp/dsearch?enc=UTF-8&stype=0&dtype=2&p=' . \ expand('<cword>'), '')<CR> とりあえず、ブラウザに表示することができるようになった。ただ、やはり日語などを直接URLと結合するのは良くない気がしたので、JavaScript で言うところの encodeURI, encodeURIComponent を作成することにした。で、こちらにできあがったものがござい

    75 encodeURI, encodeURIComponent - くふんを狙え
    sankaseki
    sankaseki 2008/04/06
    75 encodeURI, encodeURIComponent - くふんを狙え
  • 74 howm-mode.vim(2-41) グローバル変数 howm_append_editing の追加とバグ修正 - くふんを狙え

    ダウンロードURL: http://khkh.o0o0.jp/vim/howm_vim.patch.20080329 修正点は以下 howm_auto_show_preview がOFFの場合に自動プレビューの切り替えが高速に動作(updatetime=1)しないのを修正 プレビューの先頭行が空行になるのを修正 日付上での action-lock が howm_date_pattern にしたがっていないのを修正 日付上での action-lock の shift の基準日を今日からカーソル下の日付に変更(より直感的な動作に) グローバル変数 howm_append_editing を追加 メニューの [Vim] を vimgrep 無効時に表示しないように修正 グローバル変数 howm_append_editing は、新規メモ作成時に参照していたファイルを日時の後ろに追加するかしないか

    74 howm-mode.vim(2-41) グローバル変数 howm_append_editing の追加とバグ修正 - くふんを狙え
    sankaseki
    sankaseki 2008/04/01
    74 howm-mode.vim(2-41) グローバル変数 howm_append_editing の追加とバグ修正 - くふんを狙え
  • 73 howm-mode.vim (2-40) Windows 環境で grep を使う - くふんを狙え

    Windows 環境で grep を使いたい場合、cygwin の grep を使うものと勝手に思いこんでいた。だから、今回のコメントはちょっとした驚きだった。 コメント: http://d.hatena.ne.jp/eclipse-a/20080323/1206244800#c1206258022 GnuWin32 Packagesのgrepを試してみた まあ、ただおどろいていても仕方がないので GnuWin32 Packages の grep にも howm-mode.vim で対応できるか確認してみた。 GnuWin32 Packages grep: http://gnuwin32.sourceforge.net/packages/grep.htm 実行してみると dll をいくつか求められる。上記URLからダウンロード可能なので探すと良い。自分の場合は、libintl3.dll,

    73 howm-mode.vim (2-40) Windows 環境で grep を使う - くふんを狙え
    sankaseki
    sankaseki 2008/03/29
    73 howm-mode.vim (2-40) Windows 環境で grep を使う - くふんを狙え
  • 72 howm-mode.vim (2-39) リロード機能の実装 - くふんを狙え

    ダウンロード: http://khkh.o0o0.jp/vim/howm_vim.patch.20080325 今日の修正点 リロード機能の実装( メニュー画面、検索結果画面で r ) メニューをうまく閉じれなかったのを修正 特に面白みなし。grep について書こうかと思ってる。あと ns9tks さんの fold の設定がすごく良いことも書きたい。

    72 howm-mode.vim (2-39) リロード機能の実装 - くふんを狙え
    sankaseki
    sankaseki 2008/03/29
    72 howm-mode.vim (2-39) リロード機能の実装 - くふんを狙え
  • 71 howm-mode.vim (2-38) プレビューまわりの仕様変更 - くふんを狙え

    ダウンロード: http://khkh.o0o0.jp/vim/howm_vim.patch.20080324 今回の変更は、オプションの削除や動作の変更など、元々の howm-mode.vim からの仕様変更を含んでおります。今回からは配布するファイル名をその都度変更したいと考えております。 変更点の一覧 グローバル変数 howm_autopreview, howm_instantpreview を削除 グローバル変数 howm_auto_show_preview, howm_auto_hide_preview を追加 メニュー画面, 検索結果画面で P ( Shift+P ) を押すことで howm_auto_show_preview を変更することを可能にした プレビューを閉じた後、同一行でプレビューを開こうとしても開けなかった点を修正 HowmCommand() の ShowPre

    71 howm-mode.vim (2-38) プレビューまわりの仕様変更 - くふんを狙え
    sankaseki
    sankaseki 2008/03/28
    71 howm-mode.vim (2-38) プレビューまわりの仕様変更 - くふんを狙え
  • 70 howm-mode.vim (2-37) ウィンドウの位置固定とバグ修正 - くふんを狙え

    ダウンロード: http://khkh.o0o0.jp/vim/howm_vim.patch まあ例によって howm-mode.vim の修正とか。今日の修正点は以下。 ウィンドウの表示位置を固定されるようにした メニューから自動プレビューを可能にした メモ一覧が動作していなかったのを修正した プレビューでのファイル読み込みが動作していなかったのを修正した メモ一覧が動作していなかったことに関する部分なんだけど、原因は if 文。 0 == '' が真になることを知らなかった。たしかに Vim スクリプトではどちらも偽なのは知っていたのだけど、どうなんだこれ。そもそも数値と文字列を比較しちゃってるのがおかしいというのが正しい意見か。 ついでにトリビアみたいのつけとくと、'' + 0 は数値扱いになる。文字列と数値は一つの変数に共存してもいいけど、Dictionary や List などを

    70 howm-mode.vim (2-37) ウィンドウの位置固定とバグ修正 - くふんを狙え
    sankaseki
    sankaseki 2008/03/24
    70 howm-mode.vim (2-37) ウィンドウの位置固定とバグ修正 - くふんを狙え
  • 68 いままで公開したものまとめ - くふんを狙え

    ソフトウェア板の Vim Part2 に狙えのことを書き込んだ人を見つけたので、返信。 519 From:名無しさん@お腹いっぱい。 Date:2008/03/03(月) 22:02:33 ID:5VvjlgmN0 Mail:sage くふんを狙え でされてるcalendar.vimとhowm-mode.vimとの連携がうまく動かないなあ。よさげなんだけど元に戻すか。 http://pc11.2ch.net/test/read.cgi/software/1184593664/519 なにがどう動かないのか教えてくれれば、改善するよ!と思ったんだけど、3月3日ってことは、それ以降に修正いれちゃってるし、公開先のURLも変わっちゃってるので、対応しづらいかも。 それもあるし、ちょっとごちゃごちゃしてきてるので、今日は公開しているものをすべて最新にして、その説明を書く。 howm_vim.pat

    68 いままで公開したものまとめ - くふんを狙え
    sankaseki
    sankaseki 2008/03/22
    68 いままで公開したものまとめ - くふんを狙え
  • 66 基本コマンド ( :substitute とか :global とか ) - くふんを狙え

    人のエントリに乱入してみる。 http://d.hatena.ne.jp/akio0911/20080319/1205916091 人のエントリに勝手に追記 % はファイル全体。これは 1,$ と同じ。詳しくはヘルプ参照。 :h cmdline-ranges :h :range というわけで、下の二つは同じ。コマンド実行時の範囲指定の基だあね。 :%s/string/replace/g :1,$s/string/replace/g 範囲指定覚えついでに :global なんてどうよ ついでに書いとくと :substitue もいいけど :global もオススメ! :h :global 入力文字数は多くなるけど「条件を満たす行すべてに特定のコマンドを実行したい」なんて場合に力を発揮してくれる。:normal との組み合わせで色々できるよ。使い方は詳しくはヘルプ参照! :g//s/stri

    66 基本コマンド ( :substitute とか :global とか ) - くふんを狙え
    sankaseki
    sankaseki 2008/03/22
    66 基本コマンド ( :substitute とか :global とか ) - くふんを狙え
  • 67 howm-mode.vim (2-35) HowmDateTime2Int() の作成 - くふんを狙え

    「では、こちらに30分煮込んだものが〜」 ということで、いきなりだけど HowmDateTime2Int() を作った。以前からぼそぼそ言ってた文字列から日付をあらわす数値への変換。タイムゾーンまわりとかかなり適当。howm_timezone_hour, howm_timezone_min でタイムゾーンに関する修正を行う。でかいわりにやってることはちっちゃい。正規表現でひっぱりだして正しいか確認して足してるだけ。肝心な数値変換の部分は HowmDate2Int() で使われている、既存のものを利用しているので、そちらが正しく動いていればうまく動くはず。 " 注意: HowmDate2Int() とは基準日時も返り値の種類も違う " " format にしたがって書かれた日付 date を解釈し ( TimeZone を考慮する ), " 1970-01-01 00:00:00 からの経過

    67 howm-mode.vim (2-35) HowmDateTime2Int() の作成 - くふんを狙え
    sankaseki
    sankaseki 2008/03/22
    67 howm-mode.vim (2-35) HowmDateTime2Int() の作成 - くふんを狙え
  • 65 strftime() に関するメモ - くふんを狙え

    はじめに :h strftime() 簡単な使い方とサンプル 第一引数は format, 省略可能な第二引数は time 。time が省略された場合は、現在時刻が使用される。time には localtime() で取得した数値(1970年1月1日からの秒数)を渡すことが多い。 :let time = localtime() :echo 'today : ' . strftime('%Y-%m-%d %H:%M:%S', time) :echo 'tomorrow: ' . strftime('%Y-%m-%d %H:%M:%S', time + 24 * 60 * 60) こんな感じ。別に難しい関数じゃない。自分の中では、使用頻度が高い関数だと思う。 タイムゾーンを考慮する strftime() はタイムゾーンを考慮する。コードを見てもらえば早い。日でごく普通のパソコンで動かした場合

    65 strftime() に関するメモ - くふんを狙え
    sankaseki
    sankaseki 2008/03/20
    65 strftime() に関するメモ - くふんを狙え
  • 63 howm-mode.vim (2-34) 改造なし。自分メモ。 - くふんを狙え

    howm で一日一ファイルを試してる。これはこれでいいかもしれない。 メモ区切り(見出し)が重要だとわかった。今までは、予定を完了にする時とか、追記する時はあまり見出しをつけないことがあったけど、一ファイルになるとそういういいかげんな使い方ができなくなる。はてなダイアリーのエントリみたいになってる。 = タイトル1 内容1 = タイトル2 内容2あと日時が入る部分は見出しのすぐ下に置くべきか、一番下に置くべきか、いまだに迷ってる。あれがヘッダの一部なのか、フッタなのかがわからない。追記する場合に、見出しを付けずに、日時だけ入れるといいんじゃないかと思ってたんだけど、どうなんだろ。 = タイトル [2008-03-15 02:20] ←こいつ 内容はてなダイアリー慣れしてる自分には、見出しごとに一意なリンクがほしいなと思う。あと追記とかにきっちり対応できたほうがいいなと思う。というわけで、h

    63 howm-mode.vim (2-34) 改造なし。自分メモ。 - くふんを狙え
    sankaseki
    sankaseki 2008/03/15
    63 howm-mode.vim (2-34) 改造なし。自分メモ。 - くふんを狙え