Humanity

Edit the world by your favorite way

セッション管理プラグインを作った結果あまりうまく運用できてない

Vim

github.com セッションの保存・復元 (プロジェクト等) 異常終了時のセッションの復元 を目的としたセッション管理プラグインを作った。 コミットログ見れば分かるけど深夜の勢いで書いたので雑な部分もあるけど普通に使えるはず。 下の例と合わせて読み取っ…

Git で特定サブコマンドの出力をページャに渡したい or 渡したくない

Git

git config で変えられる。 わざわざ ls = !"git ls-files | less" って alias を設定してたけど ls = ls-files でよくなった。 # ページャに渡す git config --global pager.<command> true # ページャに渡さない git config --global pager.<command> false stackoverflow.com</command></command>

教師の夢を見た

教師としてクラスを受け持つ夢を見た。 なぜいきなりそんな夢を見たかは謎。 私のどんな発言に対する返答か既に忘れてしまったけど *1、 いきなり生徒の一人に「班で話し合う形にしていいですか」と言われ、 咄嗟に「いや言ってません、机を戻してください」…

日記:Google 検索のデフォルト言語を変えた、Devtools の Disable cache、等

あんま Twitter の転載とかするの(両方見てる人やまとまったブログ記事がほしい人にとっては)ノイズが増えるのでやりたくないんだけど、 かといって全くやらないのももったいない気がしてくるんだよな… こういう tips 系はまとまった技術記事よりも見る人…

年末年始に送った PR や作った Vim の terminal 関連プラグインと振り返りとか

Vim

なんだかんだこういう振り返り記事を書いたの初めてかもしれません。 最近やったことを書く機会があって書き出したらいい感じに振り返り記事になったので丁度よかった(?)。 なぜ terminal 関連のプラグインのみなのかというと今自分の中で一番熱いからで…

Vim の terminal でも : や <Esc> でノーマルモードに移りたい。けど完全に潰したくはない

Vim

そんな方のための Hack をふと某 slack に公開したらウケが良かったのでブログに書いておきます。 一言で言うと 「シェルのプロンプトが空の場合は他のバッファと同じように振舞う」ようにしたら便利だった ついでにプラグイン化した という話です。 前置き …

Vim の terminal window でサッと別のタブに移動したい

Vim

※本記事は Vim Advent Calendar の記事ではありません 忙しいと文章書くの面倒になりますね。箇条書きでつらつらと書きます。 タブ移動 (gt, gT) は terminal window ではフォーカスを奪われるので使えない terminal window でも普通のバッファでも使えるよ…

tyru/sync-term-cwd.vim をちょっと便利にした

Vim

tyru.hatenablog.com ↑の記事で紹介した tyru/sync-term-cwd.vim に :SyncTermCwdConditionalCd を追加しました。 この長ったらしい Ex コマンドはグローバル変数 g:synctermcwd_cd_command に指定する使用例を想定しています。 let g:synctermcwd_cd_comman…

ズボラのための Slack リマインド術

最近は簡単な TODO 管理(すぐやる事)とかに Google カレンダーじゃなく Slack のリマインド機能を使う事にしてる。 理由はいくつかあって いつも見てるから気付きやすい(重要) スヌーズで簡単にまたリマインドする時刻を後にズラせるの便利(ズボラ) で…

macOS のターミナルエミュレーター環境放浪記

ぶっちゃけ vim の :terminal から色々起動したりしてるのでターミナルエミュレーターに求めるものはあんまりないのだけど、 タブが使えること (いちおう) (2019/9/19 15:20 追記) Alacritty はタブ使えません 速いこと ということでおそらく最速らしい Alac…

Vim の :terminal で動かしているシェルで cd したら Vim のカレントディレクトリも変えるプラグイン

github.com Vim の :terminal で動かしているシェルで cd したら、 Vim のカレントディレクトリも同じパスに :cd するプラグインを作りました。 セットアップ .bashrc / .zshrc に以下を追加してください。 source (sync-term-cwd.vim のリポジトリ)/macros/…

macOS Mojave で Vim のソースコード (C 言語) のデバッグをする (clang, lldb)

C Vim

もし lldb でも良いならそっちを使ったほうが良いです.leak detector は LLVM の msan とか使ってるのが最近は多い気がします— ドッグ (@Linda_pp) July 3, 2019 src/Makefile の CC, CFLAGS を変更 diff --git a/src/Makefile b/src/Makefile index 9c4a42…

macOS に Homebrew から phpMyAdmin をインストール

インストール $ brew install phpmyadmin Apache の設定変更 $ sudo vim /etc/apache2/httpd.conf して #LoadModule php7_module libexec/apache2/libphp7.so のコメントを外します。 LoadModule php7_module libexec/apache2/libphp7.so 次に brew install …

macOS で Vim をソースコードからインストールする備忘録 (with LuaJIT)

--enable-lua しなければソースコードからもスルっと入ったけど +lua 付きがほしかった *1 ので。 ソースコードからインストールする ここら辺見て関連しそうなもの入れた。 余計なもの入ってたらすいません。 あと gpm 入れて再ビルドしてみたけど -mouse_g…

カーソル下のコンパイルエラーを popup するだけの Vim プラグインを作った

github.com なにこれ quickfix, location list のカーソル下の情報を popup するだけの Vim プラグインを作りました。 例えば入れるだけで :make したり (ALE とか quickfix / location list を勝手に update してくれるプラグインが入っている場合は) :w す…

YouTube 動画ページからサムネイル画像の URL に飛ぶ Chrome 拡張・ブックマークレット

YouTube の動画を見ていてふとコメント欄に「サムネwwwww」の様なコメントを見つけてサムネを見返したいと思った事はありませんか? 僕は思ったのですぐさまブックマークレットを作り、暇だったのでやっつけで Chrome 拡張も作り、アイコン等の素材探し…

Vim で無名バッファを復元する方法

Vim

TL;DR スワップファイルを残したディレクトリに :cd して、 (:new 等で)無名バッファを開き、 :recover を実行する。 説明 デフォルトだと Vim はそのファイルを開いた時点に復元するかどうかのダイアログを表示すると思います。 というか自分はスワップフ…

Google Apps Script で Gmail の添付ファイルを自動で Google Drive に保存

そういえばこんなもの作ってたので、備忘録がてらブログにも書きます(2ヵ月近く経ってますが…)。 GAS で Gmail の添付ファイルを Google Drive に保存するやつできた。まとめてダウンロードできるので大分楽になった https://t.co/WCPSymK3yA— tyru (@_tyr…

BSD cp だと source のパスの末尾に "/" が付いていると中身をコピーする

どういう事かというと うおぉぉ… cp の -R オプションって BSD 版だと source directory path が / で終わるとその中身を destination directory にだばぁするのか。rsync 的な挙動。GNU 版は末尾が / でもそうでなくても関係ない。なんか今まで作ったシェル…

Vim のレジスタに :terminal のシェル上からアクセスする

Vim その2 Advent Calendar 2018 の記事です。 Advent Calendar 4日目で mattn さんが紹介してくれていた Tapi について、 ちょうど Tapi を使ったプラグインを作っていたので紹介したいと思います。 実際にこんな事ができるという例としてもシンプルで分か…

CDDB に初めて登録したけどジャンル欄が文字化けてしまうので助けてほしい

CDDB は CD 入れると取得できるアレ。 自分はここのを使わせてもらってる。 https://freedbtest.dyndns.org/ 設定はこの通りにしてある。 cdex の設定 そして送る時はここを参考にした。 TIPS集みたいな 登録したやつはこれ。 DIVERSE DIRECT | La Kasketia …

端末アプリで Ctrl-[ が Esc になる理由

理由 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能 全文 vim-jp.slack.com の #random から。 heavenshell [10:08 AM] TouchBar MBP にしたら強制的に C-[ になるので、オススメです!ようやく矯正できた。 mattn [10:09 AM] 人…

コマンドラインで動くリンク切れチェッカー

ちょっと前 Twitter で教えてもらったのでブログに書いてみる。 wget crawler linkchecker gem i rawlerpip install linkcheckerとかどうでしょう。— syui (@syui__) September 16, 2018 wgetでも出来そうなんですけど、tyruさんの目的には合わないでしょう…

Vim の端末ウィンドウから別のウィンドウに移る時にコマンドを実行中にしておく

Vim

tyru.hatenablog.com を書いた後 vimrc を整理していたら書きかけの設定があったのでこれも公開。 autocmd vimrc の vimrc は適当に変えてください(分からない人はそのままでもいいです)。 " Enter Terminal-Job mode when leaving terminal window autocm…

Vim で端末ウィンドウを複製する

Vim

Vim で端末ウィンドウを使ってるとスクロールされた出力を見たくなる時があると思います。 ただシェルでコマンド実行中なので、 <C-w>N すると出力も止まってしまう。なるべくなら出力を止めたくないと思います(たぶん)。 そういう時は以下を vimrc に貼り付け</c-w>…

しばらく Prolog やってみた感想

ここ最近 Prolog を書いていて、「Prolog はどうせ遅いし Prolog の良さはそこじゃない」がやっと体感的に分かってきた気がします。 ぶっちゃけPrologはどうせ遅いしPrologの良さはそこじゃないPrologの良さは簡単に書けることだ。高階な述語は使うのやめた…

Let's Encrypt の証明書の有効期限をチェックする Cron 用シェルスクリプト

まぁ certbot-auto renew を定期的に実行すればいいんですが、チェックだけしたいって場合のスクリプト。 Cron で毎日実行する事を想定してます。 追記:切れる前メール通知来るの知りませんでした… 具体例 REPORT_DAYS_AGO はデフォルトで 14 が指定されて…

certbot-auto で ImportError: No module named cryptography.hazmat.bindings.openssl.binding

wget https://dl.eff.org/certbot-auto とかしてダウンロードした certbot-auto スクリプトを実行しようとすると、 ImportError: No module named cryptography.hazmat.bindings.openssl.binding のようなエラーが出る時がある。 詳細なエラー $ ./certbot-a…

Prolog に関するメモ

REPL でも述語を定義する方法 stackoverflow.com ['user'] で REPL でも述語が定義できる。 | ?- ['user']. woman(mia). ^D 部分適用 Prolog で部分適用。 ?- ['user']. add(X, Y, X+Y). |: true. ?- add(1, 2, R). R = 1+2. ?- call(add, 1, 2, R). R = 1+2…

quickrun.vim でバッファの Prolog コードを実行できるようにした

そういう Pull Request を送ってマージされました。 github.com 述語が多くなってくると REPL で確認するのも面倒になってくるかと思いますが、 そういう時はおもむろに新しいバッファを作って :setf prolog して :QuickRun すると実行した結果が別バッファ…