Exコマンドの補完をfzfでやる

Vim

VimのExコマンドって結構長いものであったり、どんなコマンドがあったか全然覚えられない。 TABで一応補完は出てくるが、補完を出した後にインタラクティブに絞り込みたいときって結構あると思う。 fzfでExコマンドのフィルタリングをできるようにした コマ…

tmux popupで遊ぶ

tmux popupとは tmuxのバージョン3.2-rcより導入された新たな機能。 どのようなものかはGIF見ていていただくのが一番早い。 fzfの絞り込みをtmux popupで実行したり、popup内で作業ができる paneやwindowの概念とは別に、新規ウィンドウがtmux上に表示される…

tmuxでiTermのimgcatを使う

iTermの拡張コマンドであるimgcatはtmux上で実行すると挙動がおかしくなる。 これはどうやらtmuxではpane分割があるため、widthやheightがうまく計算できないので描画がおかしくなってしまうらしい。 tmuxでimgcatを実行したときの挙動。一瞬だけ表示されて…

zshで関数内で実行したコマンドを履歴に残す

通常、コマンドを実行したら履歴に残り、Ctrl-p/nや上/下の矢印キーで実行したコマンドを遡ることができる。再度同じコマンドを実行するときはとても便利。 この履歴に手動で追加するにはどうするか。 結論から言うと printf -s 履歴に残したいコマンド でい…

fzfは非表示にした列でフィルタリングすることはできない

--with-nthで特定の列だけを表示した上でフィルタリングがしたかったが、どうもできないらしい。 github.com 上記のIssueによると、できないというよりはそれを実装してしまうと混乱を招きそうだから実装しない、ということらしい。 何がしたかったのか fzf…

TerminalからfzfでBluetooth機器を選択して接続できると幸せになれる

TerminalからBluetoothの接続をする MacでBluetoothのデバイスを接続するとき、ステータスバーからデバイスを選択しているやつおる? エンジニアならTeminalからBluetoothデバイスを選択して接続しないといけない。 AirPodsの接続をTerminalからやりたい Air…

【Swift】親Viewの領域外に設置したボタンを反応させる

設置したUIButtonを親Viewの外に配置してしまうとタップが反応しない。 よくあるのは✗ボタンが右上に半分はみ出しているようなカスタムViewを作ったりするとき。 親Viewからはみ出して設置するタイプのボタン この状態だとタップが反応するのは親Viewにかぶ…

Xcode11のiOSシミュレータで、ステータスバーを変更できるコマンドまとめ(時刻、バッテリー、ネットワーク表示など)

Xcode11からiOSシミュレータのステータスバーをコマンドで自由に変更できるようになった。 時刻、バッテリー、ネットワーク表示など結構色々変えれるみたいなので実行コマンドと結果をまとめておく。 動作環境 時刻を変更する 設定を元に戻したい時 ネットワ…

Terminalの現在行をエディタで編集して実行する

長いワンライナーを打っていると編集が面倒くさい ワンライナーじゃなくてもいいのだが、Terminalでコマンドを打っているときに、修正するときのカーソル移動が結構面倒くさい。コマンド履歴をさかのぼり、真ん中の方のコマンドだけ編集したいときなど地獄の…

Terminal上でSnippetを実現する ~ zle(Zsh Line Editor) × fzf ~

ワンライナー打つのしんどい CSV落として該当の列だけ抜き出すときにcat hoge.csv | awk ...とか、fzfでプレビューして〇〇するみたいなときにcat hoge.txt | fzf --preview...など、 大体打つコマンドって決まってくると思う。 .zshrcや.shファイルなどに直…

Express, MonogoDB, React, TypeScriptの開発を始めるときに困ったこと、参考になったサイト

今まで業務ではPHP, MySQL, 素のJavascriptを触っていた、いわゆるサーバー側のWebエンジニアがオールJavascriptの開発をする上で困ったことをずらずら書いていく。 今回は誰かに見てもらうというより自分のメモを公開するに近いので、全くまとまっていない…

whichコマンドでaliasではなくPATHを表示する(where, whence, where, type, commandどれ使えばいいのか決める)

コマンドにaliasを貼っていると、whichコマンドでPATHを知りたいのにaliasが表示されてしまう。 $ which grep grep: aliased to grep --color=auto PATHを知りたいときは-pをつけるとPATHが表示できる。(※-pはzshのみ有効) $ which -p grep /usr/local/opt/g…

builtin-commandsのmanの見方

man readとかするとbuiltin commandsのmanが出てきてしまって、read自体の説明にたどり着けない。 我々が見たいのはこのmanではない これはmanがないのではなく、ちゃんと別のところに書いてあるのでそれを覗きに行く。 bashの場合 使っているShellがBashな…

sourceコマンドは複数のスクリプトを読み込めない

結論 先に結論だけ言っておくとsource file1 file2はできない。file1, file2をsourceしたいなら下記のようにする。 find ~/local_scripts |while read script; do source $script done # もしくはfor文でもいい for script $(find ~/local_scripts); do sour…

2019年振り返り

無事2020年を迎え入れることに成功したのでずらずらと今年あったことを書いていく。 振り返りというよりは棚卸し。 印象に残ってること 4年分のAppleへのお布施(デベロッパー代)をアプリによって完全に回収しきった。3年分ぐらい余裕できた。 設計に興味を持…

ライブラリのソースを追いたいならCarthageよりもPodsがいい

ビルドも早い、生成ファイルもシンプル、ゆえの管理の楽さでCarthage一択だろと思っていたが、CocoaPodsに軍配が上がる事柄を発見した。 ライブラリのソースを追っていくときはPodsのほうがいい Carthageだとプロジェクト内にインストールされるのはframewor…

業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする

業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする はじめに この記事は今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019の20日目の記事です。 今年は「お勧めテクニック」ということで、業…

Vimに生命を吹き込む(NeoVim×FloatingWindow)

Vim

Vimに生命を吹き込む(NeoVim×FloatingWindow) はじめに この記事はHameeアドベントカレンダー13日目の記事です。 最近VimからNeoVimに乗り換えた。 VimPluginの王ShougoさんのPluginもいくつかNeoVim対応が増えてきていた(というかNeoVimにした方が楽な状態…

NeoVimのFloating Windowで遊ぶためのTips

Vim

NeoVimのFloating Windowで遊ぶためのTips この記事はVim3 Advent Calendar 2019 6日目の記事です。 NeoVimに乗り換えるきっかけにもなった、Floating Window。 このFloating Window、めちゃくちゃ遊べる要素があるなと思い、こんなものを作って遊んでいた。…

SSHのデフォルトログインユーザーをrootにする

シンプルに下記の1行を.bashrcに追加するだけで終わる。 sudo su - zshの人は.zshrcなど適宜読み替えて追加するべし。 .XXXshrc系のファイルはログイン時に自動で読み込まれるので、自動でsudo su -を実行してくれるって感じ。 何がしたかったのか kali-linu…

【備忘録】Homebrewで自作ツールを配布する

Homebrewでの配布は簡単だが毎回忘れる Goでバイナリ作ったり、ShellScript書いて配布したいなと思ったときにHomebrew使うことが割とある。 が、その都度毎回調べてやり方を思い出しながらするのが億劫だったので、一回まとめてみる。 ざっくり手順 Homebrew…

fzfでChromeのtab移動をする

VimでWeb開発してるとブラウザとTerminalを行ったり来たりすることが多い。 ブラウザのタブ切り替えをブラウザでやるのではなく、Terminalでできればノンストレスな開発ができるのではないか。そうだろう。 fzfで実現した github.com 追記:fzf本家の方、Jun…

Kali-Linux × Airgraph-ngで周辺のWifiを丸裸にする

中学生の頃からずっとクラッカーに憧れていて、久しぶりに「おおお!!?おおおん!!」とあの頃の気持ちが蘇るツールがあったので試してみた。 周辺のアクセスポイントにどの端末が繋がっているのか、周辺の端末が過去にどのアクセスポイントに繋いだことが…

kali-linux/rolling × Vagrant × AnsibleでKali-Linuxの環境作る

以前もkali-linuxの構築について書いたが、余分な設定とかも書いていたのでまとめる。 github.com Mac環境 $ vagrant -v Vagrant 2.2.3 $ VBoxManage -v 5.2.26r128414 vagrant構築 Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "kalili…

アウトプットを気軽にするために作ったコマンド

記事書くときはVimで大体書いてからはてぶで整形するというのを繰り返しているが、最初の「Vimで記事を書き始める」という障壁をできるだけ低くし、なんとなくモチベーションが続きそうなやり方をコマンドで実践してる。 どんな感じ こんな感じ。 コマンドを…

VimのMarkdownPreviewプラグイン「iamcco/markdown-preview」がグラフ、UML、Latexが描画できて色々やばい

Vim

「vim markdown」とか「vim plantuml」って調べると2015年とか古い記事が多く見つかる。 なんか直近で良い感じのないかな〜と探していたら素晴らしいプラグインを見つけた。 GitHub - iamcco/markdown-preview.nvim: markdown preview plugin for (neo)vim …

SwiftUIやPlaygroundもいいけどUIのデバッグぐらいLLDBでやっちゃおうぜ

PlaygroundやSwiftUIの登場によってだいぶUIのデバッグがしやすくなってきたと思うけど、 Playgroundはいちいちそれ用のファイル開かないといけないし、SwiftUIはまだXcode11がBeta版なので使う機会が少ない。 UIの確認をするために一々ビルドするのも気が重…

Carthageをupgradeしてもバージョンが変わらない

carthageのバージョンを確認すると最新にしろと言われていたのでbrew upgrade carthageしたが、 何故かバージョンが上がらない。 # 最新に上げろと言われる $ carthage version Please update to the latest Carthage version: 0.33.0. You currently are on…

rakyll/statikでGoで扱うファイルリソースを一緒にビルドする

Go

テンプレート用CSVを読み込んでその値を元に新しくCSVを作る、みたいな処理をするコマンドをGoで作った。 go installしてコマンドとして使えるようになったがいいものの、main.goがある場所じゃないとno such fileと出て実行ができなかった。テンプレートCSV…

Webのリクエスト方法についてやんわりと考えてみる

先日GoでInstagramぶっこ抜きというものを作った時、リクエスト方法について少し悩んだ。 個人開発で大規模なものじゃないから、リソースについてそんなにシビアにならなくてもいいのだが、一度考えてみた。 rasukarusan.github.io 全体の動き サーバーにaja…