Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2018-09-17

[]また私的syntax/ocaml.vim触ってる 04:29 また私的syntax/ocaml.vim触ってる - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - また私的syntax/ocaml.vim触ってる - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

syntax/ocaml.vimからsyntax/ocaml_{common,impl,intf}.vimになった。

で何を思ったのか、最初にコピーを3つ作ったらしく、変更が適用されないなぁおかしいなぁ、とかやってた。バカだね。

ちゃんとブランチ切ってトピックごとに作業すれば良いんだろうけど、Vimの:syntaxの詳細が覚えきれないのと細かい試行錯誤のせいでコミットのタイミングが分からないんですよね。

2018-08-17

[]Title stackingとサスペンド 15:10 Title stackingとサスペンド - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - Title stackingとサスペンド - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

xterm。

ターミナルのVimサスペンドするとtitle stackがぶっ壊れるっぽい。

:shellでターミナルに戻る(とはちょっと違うか)場合はちゃんと復元されるっぽい。

俺のvimrcの&t_*はぐちゃぐちゃで、本体のバグなのか俺のミスなのか切り分けるのが面倒っぽい。

実害は(ほぼ)ないけど、気持ち悪いので:shellとか:terminalを使うようにするかなぁ。

でもぐちゃぐちゃなzshrcのせいでシェルの起動が遅くてストレスになった記憶があるなぁ。

シェルの起動時間の累計、恐ろしいことになっていそうだなぁ。

2018-04-12

[][]:commandの引数でハマった 06:35 :commandの引数でハマった - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - :commandの引数でハマった - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

:command で定義したユーザコマンドに特殊文字(#とか%とか)を含む文字列(今回の場合はgrepのラッパだったので検索パターンとパス)を渡して、それをそのままユーザ定義関数に渡す、というケースでハマった。

問題の原因は :command に -complete=dir を付けていたことで、これのせいでユーザコマンドに引数が渡る前にVim特殊文字として展開されていた。ちなみに検索しようとしていたのはVimのオートロード関数……。

多分、補完関数を自前で定義すれば大丈夫だと思う。

今回はグロブなパスも渡すことを考慮して補完は必要ないと判断した。というか再帰オプションを付けることが多いので……。

なので試してない。

2017-11-11

[][]ローカルWiki的な奴作りたい その2 01:08 ローカルWiki的な奴作りたい その2 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - ローカルWiki的な奴作りたい その2 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

このページに書いたように以前はhowmとか使ったり、半自作のスクリプト使ったり、今考えると自分でも信じられないが、Evernoteを使ったりしてた。(流行ってたからね!)

EmacsからVimに乗り換えたとき、QFixHowmはイマイチ好みじゃなかったのでhowmは諦めてしまった。

また、上のVim scriptは1メモ=1ファイルという仕様で、書くときには非常に便利なんだけど、grepできない(キーワードが分からない)ケースなどある時期(あるいは量)のメモをまとめて読みたいときなんかには向いていない*1のであった。まぁ検索できるならメモしないよな。

Evernoteはまぁその特に言いたいことはないんだけど、CUIな環境に染まりきってしまった体にはメモの読み書き程度のことで専用クライアントとかブラウザを起動するのはつらすぎるんだよね。

*1:そういうことが快適にできるように直せばいい話なんだけど。久し振りに:JunkDiary経由で作ったメモ群からTODOを探したら拡張案がいくつか書いてあった。

2017-05-21

[][]シンタックスファイルの作成 23:33 シンタックスファイルの作成 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - シンタックスファイルの作成 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

メモ。多分随時更新。

シンタックスファイル職人を目指そうと思っているのでなければ止めておくのが吉。

  • Q. 既存のシンタックスファイルがあるけど、気に入らないので自前のものを作りたい
    • A. やめておけ(既存のものをafter以下で拡張・修正する程度にしておけ)
  • Q. シンタックスファイルが存在しないので作りたい
    • A. キーワードとリテラルをハイライトするくらいで満足しよう(まともに構造を扱おうとするとパズルになる)
  • Q. でも fdm=syntax でフォールドしたい
    • A. コードブロックのはっきりしてる(開始と終了のトークンがある)ような言語なら書いてもいいんじゃないでしょうか(MLみたいなほとんど式だけで構成されるような言語はやめておいたほうが……)

[][][]シンタックスファイルの作成 for OCaml 23:44 シンタックスファイルの作成 for OCaml - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - シンタックスファイルの作成 for OCaml - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

割と地獄。

いや自分のスタイルだけは正しくハイライトとフォールドできる、みたいな奴ならそんなに大変じゃないんだけど、汎用っぽいのを書こうとするとなぁ。

僕はばんばんターミネータを置く派なので……。

外部のパーサでシンタックスファイルの生成してもらって適切なタイミングで読み直すとかしたいレベル。