はじめに
よくQiitaでおすすめアプリとかの記事を見かけますが
逆に使わなくなったアプリの紹介記事ってなくね?
と思い今その勢いで本記事を書き進めています。需要があるかはしーらないっ。
本記事では、今年で4年目のエンジニアが作業効率を追い求める中で淘汰されていったアプリたちを紹介します。
ちなみに当方Macユーザです。
エディタ
Visual Studio Code
3年目くらいまでは結構使ってました。
settings.json
やkeybindings.json
をdotfilesで管理してみたいなこともするくらいには使ってました。
が、何かのタイミングでvimに興味を持ち、vimを使いはじめてから徐々に使わなくなってゆきました。
vimに興味を持った最初の頃はVSCの拡張でvimがあったので、それを使ってました。
VSCでvimの操作を再現できる拡張です。
しかし vimと言えば学習コスト、学習コストと言えばvim と言うように、私も最初は苦戦しましたがコマンドを思い出しながらテキストを編集できるようになると急激に楽しくなります。
あとvimはコマンドの美学というか、いかにホームポジションを崩さずに みたいな理念が一貫して感じられ、そのスマートさにどんどんハマっていきました。
その後はというと本家vim(正確にはneovim)をターミナルに入れて、今ではneovimでコーディングしてます。
ターミナル
iTerm2
おそらくmacユーザであれば誰もが一度は使うターミナルですね。
これは結構最近まで使ってました。
が、設定をGUIベースでしないといけない点があまり好きではなかったです。
あと設定ファイル意味わからん場所にあるし。
で結局私は WezTermというターミナルに乗り換えました。
私がiTerm2に感じていた使いづらさを見事に払拭してくれました。
- 設定ファイルをluaという言語で書ける
- 設定のための公式docが豊富
- 高速
- マルチプラットフォームで動作する
サンプルとして私のconfigを晒しておきます。
Click to Open
local wezterm = require("wezterm")
local config = {}
if wezterm.config_builder then
config = wezterm.config_builder()
end
config.color_scheme = "Ayu Dark (Gogh)"
config.font_size = 15
local act = wezterm.action
config.keys = {
{
key = "d",
mods = "CMD",
action = wezterm.action.CloseCurrentPane({ confirm = true }),
},
{
key = "f",
mods = "CMD",
action = wezterm.action.ToggleFullScreen,
},
{
key = "h",
mods = "CMD",
action = act.ActivatePaneDirection("Left"),
},
{
key = "h",
mods = "CMD|SHIFT",
action = act.ActivateTabRelative(-1),
},
{
key = "h",
mods = "CTRL|CMD",
action = wezterm.action.SendKey({ key = "LeftArrow" }),
},
{
key = "j",
mods = "CMD",
action = wezterm.action({ ScrollByLine = 1 }),
},
{
key = "j",
mods = "CMD|SHIFT",
action = wezterm.action({ ScrollByPage = 1 }),
},
{
key = "j",
mods = "CTRL|CMD",
action = wezterm.action.SendKey({ key = "DownArrow" }),
},
{
key = "k",
mods = "CMD",
action = wezterm.action({ ScrollByLine = -1 }),
},
{
key = "k",
mods = "CMD|SHIFT",
action = wezterm.action({ ScrollByPage = -1 }),
},
{
key = "k",
mods = "CTRL|CMD",
action = wezterm.action.SendKey({ key = "UpArrow" }),
},
{
key = "l",
mods = "CMD",
action = act.ActivatePaneDirection("Right"),
},
{
key = "l",
mods = "CTRL|CMD",
action = wezterm.action.SendKey({ key = "RightArrow" }),
},
{
key = "l",
mods = "CMD|SHIFT",
action = act.ActivateTabRelative(1),
},
{
key = "p",
mods = "CMD",
action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }),
},
{
key = "t",
mods = "CMD",
action = act.SpawnTab("CurrentPaneDomain"),
},
{
key = "w",
mods = "CMD",
action = wezterm.action.CloseCurrentTab({ confirm = true }),
},
{
key = "z",
mods = "CMD",
action = wezterm.action.TogglePaneZoomState,
},
}
return config
めちゃくちゃ気に入っている点を1つ挙げると、←↓↑→を別のキーにマッピングできてしまう点がめちゃくちゃのめちゃくちゃに気に入っております。
zshのコマンド履歴とか補完か埋める時にarrowキーに指を動かさなくて済みます。
Git
SourceTree
Gitクライアントですね。
これは2年目くらいまで使ってました。
2年目くらいのどっかのタイミングでgitをちゃんと勉強しようとした時期がありまして(誰しもの通る道)、いざ勉強してみると あれ俺gitのコマンド全然知らんくね? ってなり、そこからCUIでgit操作するようになります。
gitをCUIで操作するメリットはいくつかあります。
- gitの基本的な操作を知れる
- VSCなどターミナルにすぐアクセスできる環境だとアプリの切り替えが要らずシームレスに作業ができる
- コマンド使ってる俺カッケーー!!!できる
それからしばらくCUIの作業を楽しんでいました。
~/.gitconfig
にaliasとか作ったり独自のコマンドを作ったりして作業効率化を図ってました。
ちなみに今回も晒します。
Click to Open
[include]
path = ~/.gitconfig.local
[push]
default = current
[core]
autocrlf = input
[pull]
rebase = false
[alias]
ai = add -i
ar = "!f() { repository_name=$(basename `git rev-parse --show-toplevel`); git archive --output=\"${repository_name}.zip\" HEAD; }; f"
alias = !git config --get-regexp alias | sed 's/^alias.//g' | sed 's/ / = /1'
b = branch
ba = branch -a -vv
bd = branch -D
bm = branch -m
ca = commit --amend
cl = clone
co = checkout
cob = checkout -b
cm = commit -m
cp = cherry-pick
d = diff
f = fetch
pl = pull
plf = !"f(){ \
git fetch; \
git reset --hard origin/$(git rev-parse --abbrev-ref @); \
};f"
ps = push
l = log --graph --date=short --decorate=short --pretty=format:'%Cgreen%h %Creset%cd %Cblue%cn %Cred%d %Creset%s'
ln = log --no-merges
rb = rebase
rbi = rebase -i
rbc = rebase --continue
rba = rebase --abort
rs = reset
rss = reset --soft
rsm = reset --mixed
rsh = reset --hard
sh = stash
shls = stash list
shps = stash push
shpp = stash pop
sha = stash apply
shd = stash drop
st = status
しかしCUI操作って効率極めても結構知れてるんですよね。
git add
するときとか、git rebase -i
するときとか、結構時間かかります。
そうして悩んでいる時に、 lazygitというTUIベースのアプリを知ります。
これ、使ってみたらわかるんですが、とにかくめちゃくちゃに効率上がります。
多分もうgitで悩むことなくなるんだろうなと思いながら日々使ってます。
VSCユーザ向けに専用の拡張(新規タブでlazygitのターミナルを呼ぶだけ)もあるので、ぜひ一度使ってみることをおすすめします。
ブラウザ
Google Chrome
これも最近まで使ってました。
別にchromeに文句があって使うのをやめたわけではなかったです。
単純に、chromeよりも魅力的なブラウザを知ってしまったからです。
みなさん Arc というブラウザをご存知でしょうか?
最近hotなブラウザらしいですが、実際hotです。
何がhotというのはここで語るには蛇足になるので割愛しますが、気に入ってる点は以下です。
- 描画領域が広い
- タブがサイドバーに内在しており、さらにサイドバーはトグルできるのでサイドバーを隠せばフルで画面を使える
- ショートカットキーが充実してる
-
command + option + shift + c
でmarkdownのリンク形式[ページタイトル](url)
でページのurlをコピペできます -
command + option + g
でChatGPTを呼び出せます -
command + option + n
でArcを開いてなくてもブラウザ検索できます
-
- UIがモダン
- 開発陣が楽しそう
ArcはchromeやEdgeからの移行をサポートしていて、当方chromeからの移行でしたが何の問題もなく移行できました。(当然ですが移行後もchromeは使えます)
chromeとの互換もばっちしです。是非。
Docker
Docker Desktop
最近有料化しましたね。
これは3年目くらいまで使ってました多分。
使わなくなった理由は有料化ではなく、dockerエンジン動かしたいだけなのにわざわざDockerDesktop起動させないといけないの面倒くさいな〜 というストレスが原因でした。
し、当時はほとんどVSCに篭って作業してたので、CLIの解禁まだかいな って思いながら、渋々アプリ叩き起こしてました。
で、当時chromeで「dockerdesktop cli」「dockerdesktop 代替」とかって調べてると、いいのが見つかりました。
これの良いところは、installしてから使ってみるまでが非常にスムーズな点ですね。
DockerDesktopだと最初アンケートとか誓約確認とかでめちゃくちゃ時間かかると思うんですが、colimaはinstallしてcolima start
すればdockerエンジン起動できます。
あとdockerエンジンの起動オプションが豊富です。よく使うのは、-a
(アーキテクチャの指定)、-m
(割当メモリの指定)とかですかね。
Click to Open
Flags:
--activate set as active Docker/Kubernetes context on startup (default true)
-a, --arch string architecture (aarch64, x86_64) (default "aarch64")
-c, --cpu int number of CPUs (default 2)
--cpu-type string the CPU type, options can be checked with 'qemu-system-aarch64 -cpu help'
-d, --disk int disk size in GiB (default 60)
-n, --dns ipSlice DNS resolvers for the VM (default [])
--dns-host strings custom DNS names to provide to resolver
-e, --edit edit the configuration file before starting
--editor string editor to use for edit e.g. vim, nano, code (default "$EDITOR" env var)
--env stringToString environment variables for the VM (default [])
-f, --foreground Keep colima in the foreground
-h, --help help for start
--hostname string custom hostname for the virtual machine
--k3s-arg strings additional args to pass to k3s (default [--disable=traefik])
-k, --kubernetes start with Kubernetes
--kubernetes-version string must match a k3s version https://github.com/k3s-io/k3s/releases (default "v1.28.3+k3s2")
-m, --memory int memory in GiB (default 2)
-V, --mount strings directories to mount, suffix ':w' for writable
--mount-inotify propagate inotify file events to the VM (default true)
--mount-type string volume driver for the mount (sshfs, 9p, virtiofs) (default "sshfs")
--network-address assign reachable IP address to the VM
-r, --runtime string container runtime (containerd, docker) (default "docker")
-s, --ssh-agent forward SSH agent to the VM
--ssh-config generate SSH config in ~/.ssh/config (default true)
-t, --vm-type string virtual machine type (qemu, vz) (default "qemu")
--vz-rosetta enable Rosetta for amd64 emulation
そして何といってもcolima使うと、~/.zshrc
に以下を追記しておくだけで勝手にdockerエンジンが立ち上がります!当初のストレスとはおさらばっちゅうわけですね。
if ! colima status > /dev/null 2>&1; then
colima start
fi
最後に
こうして振り返ってみると、年を重ねるにつれてターミナルに引き篭もりたい欲がモリモリと増加していっているのがわかりますね。
しかし実際快適なのです。
あと、やっぱり未だに「黒い画面」に対する憧れはなくなりませんね。