深酒とお昼寝で忘れる

深酒とお昼寝で忘れる

素面でも意図したことを忘れがちなしらふいとさんは、忘れる前に何かしら書き残せたらとても満足のようです

Zsh で実行に失敗したコマンドを履歴に残さない テイク2

Zsh

あらすじ:zsh で(例えば、間違ってタイプして)実行に失敗したコマンドを履歴に残さないように 以前の記事 で設定しました。ところが使っているうちに一つ気に入らない振る舞いをしている点が見つかります。この度、久しぶりに設定ファイルに手を入れて改…

YouCompleteMe (YCM) を用いた快適な C++ のコードリーディング

はじめに それなりに大きなコードベースをエディタで読むときには、カーソルの下の変数・関数や、クラスやメンバ関数の宣言・定義などを確認したくなるものです。以前 書いたように rg などを用いて(find と grep の代替だと思ってもらって OK です)読んで…

echo でタブを表示する

メモが続きます。 bash や zsh の echo コマンドでタブを表示するには \ によるエスケープを解釈してもらう必要があり、-e オプションを渡すことで可能となります。 % echo -e "Hello\tworld!" Hello world! ここ で知りました。

他の端末から接続している tmux セッションを切り離す

いつも tmux という端末マルチプレクサを使って作業をしています(tmux の説明は省きます)。tmux では複数の端末から同じセッションに接続している場合、最も表示範囲の小さい端末に合わせて表示範囲が決まります(大きな端末は余白に . が表示されます)。…

各行に書かれている数字の総和を出力する

分かりにくいタイトルですが、要は下記のようなファイル(または grep、sed などの出力でも良いです)の総和を出力するにはどうしたら良いかな、ということです。 1 100 39 : 153 sed で全てを足しあわせる数式に整形して bc に渡しても良いのですが、awk を…

複数のスペースを一つに置換できますか(ただし引用符の中は除く)

以前 zsh で、失敗したコマンドはヒストリファイルに保存しない設定をしました(付随して、スペースで始まるコマンドは履歴に残さない、コマンド内の複数のスペースは一つに置換する、といった設定も自前で行ないました)が、使っていくうちにいくつか改善で…

Mac (OS X El Capitan) で /home/$USER を /Users/$USER へのシンボリックリンクにする

あまり需要はない気がしますが記録しておきます。普通にシンボリックリンクを作ろうとすると、 $ cd /home $ sudo ln -s /Users/$USER ln: ./$USER: Operation not supported 上記のように怒られてしまいますが、/etc/auto_master ファイルの /home auto_hom…

(Neo)vim で同じ列内のウィンドウのみ高さを等しくする

Vim のウィンドウを縦に分割し、さらにそれぞれの列を横に分割します。それぞれの列内のウィンドウは高さが等しいとは限らず、最大化されているウィンドウがあったりします。 沢山ファイルを開いて作業をしていると、こんな風にウィンドウの配置が最適化され…

Zsh のカスタマイズは日進月歩 − 失敗したコマンドを履歴に残さない

Zsh

日々、かなりの頻度でシェルのコマンド履歴を検索します(よね?)。長かったりよく覚えていなかったりするコマンド(複数のコマンドをパイプでつないだり、コマンドに様々なオプションや引数を渡したり…)を、履歴の検索なしに再度実行するのはとてもつらい…

必要なときにはいつも忘れてしまっている (Neo)vim のコマンドたち(その1)

diffoff 差分モードを終了する。例えば :diffsplit などして差分を見つつ作業をし、用が済んだ後に一方のファイルを閉じる。ところが sign(特定の行を強調するために、例えば +、-、> などの印を表示する、左端に表示される一列)が残ってしまい、はてどう…

fzf.vim による絞り込み対象からファイル名を除外する

先日の記事『重い腰を上げて Neovim ことはじめ ー ripgrep (rg) と fzf でソースコード検索編』で設定した :Rg コマンドはとても便利ですが、使っていて不満な点が一つありました。それは、fzf.vim で絞り込みを行うときにファイルの内容だけでなくファイル…

Failed to load python (python3) host ー 複数マシンでホームディレクトリを共有している環境ではキャッシュに注意、という話

以前『重い腰を上げて Neovim ことはじめ ー Vim 環境の移行編)』に書いたように Mac では Vim から Neovim へ移行したのですが、この度 Linux でも同様の作業を行ないました。その際につまづいた点があり、事の顛末は ここ にある Neovim の Issue #6414 …

Bash シェルスクリプトの絶対パスが、そのスクリプトの中からでも分かりますか

分かります。どう書くかを知っていると意外と便利なこの質問は Stack Overflow の こちら です。最も upvote されている回答のワンライナーは下記のとおりです。 "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ただし回答にも書かれているとおりこのワン…

重い腰を上げて Neovim ことはじめ ー ripgrep (rg) と fzf によるソースコード検索編

はじめに Neovim への移行と共に実現したいことがありました。この 『コマンド一発でソースコード検索&表示できる「peco」改が凄い!』 というブログポストで紹介されているもの相当の機能を Vim 内で実現することです。記事でも『Vim にある grep とかも物…

重い腰を上げて Neovim ことはじめ ー Neobundle から Dein.vim への移行編

Vim のプラグイン管理には Neobundle というプラグイン(パッケージ)マネージャのお世話になっており、これといって不満はないんです。ただ Neobundle はもうバグ修正しかしないようですし、いつかは他のプラグインに乗り換えるのかな(面倒くさい……)とは…

重い腰を上げて Neovim ことはじめ ー Vim 環境の移行編

Neovim は Vim の未来だ ということで、そろそろ Vim 環境を Neovim に移行してみます。作業のモチベーションを上げるため、環境の移行に加えて、プラグイン管理を Neobundle から Dein.vim へ移行すること、および Neovim ニュースレターの 第6号 で紹介さ…

/etc/hosts にワイルドカードは書けますか

書けません。 はじめに 仕事に集中したいけれどネットサーフィンをして時間を無駄にしてしまう……!そんなわけで /etc/hosts にこんなエントリを追加している人は意外に多いのではないかと思います。 127.0.0.1 www.facebook.com そうやってどんどんエントリ…

Vim で :cstag の検索順を変更できますか

できます。C や C++ 言語のプログラムを読み書きするときに活躍する ctags と cscope。Vim で、どちらか一方でなく両方とも使いたいという欲張りな人が使うコマンドが :cstag です。:cstag はまず cscope のデータベースを検索し、マッチしなかったら ctags …

AeroPress か Minipresso か、それが問題だ

自宅や旅行先でも美味しいコーヒーが飲みたいというのは万人の願いだと思います。ということでそんな人々の強い味方である二つの商品を紹介したいと思います。 AeroPress Wikipedia のエントリが こちら 。Wikipedia にも項目がありますが、うちでは Inverte…

GNU Parallel という名の簡易ジョブスケジューラ

世間ではジョブスケジューラと聞くと具体的に何を思い浮かべる人が多いんでしょう。(HT)Condor や Torque のような共有計算機におけるジョブスケジューラや、Mesos、Omega や Borg のようなクラウド上の大規模クラスタスケジューラ?シンプルに OS のプロセ…

tail -f を grep できますか

できます。grep に --line-buffered を渡しましょう 。 $ tail -f file | grep --line-buffered pattern

重い腰を上げて Atom ことはじめ − LaTeX 環境設定編

もう随分長いこと、文章やコードを書くときは Vim というテキストエディタ(以下エディタ)のお世話になっています。良い感じに手に馴染んでおり大きな不満はないけれど、ときどきは世間の流行りが気になるものです。もっと良いものあるんじゃないかな?って…

深酒とお昼寝の前に

こんにちは。はじめまして。id:someneat です。あけましておめでとうございます。 人生って、日々、考えたことや学んだことを色々な理由で忘れてしまいますよね。時々はそういうことを書き残しておこうかなと思って、ブログ、始めてみました。