大学生、Windowsにおける快適な操作環境を思案

に公開

読者対象

  • Windowsにおける環境構築のアイデアを得たい人

サブタイトルの順番は簡単に導入できる並びにしています。

導入

ノートパソコンが爆音ノイズ上げてフリーズしました。
容量512GBあって40GBってなんなん?そんなにもRustのcargoは重いのか?それとも『ブラックジャックによろしく』のPDFを入れたせいなのか?
・・・いえ、一か月以上も再起動しない私が悪いですね。再起動したら10GB以上も空いたんですから。
しかし、16GBのパソコンです。Visual Studio Codeを二つ起動、Vivaldiを二つ起動うち一つは動画を垂れ流し、Braveを起動、Minecraftを起動、そしてHuionと繋いでニ画面している。重くならない理由がありません。
なので、基本はターミナル操作にしたらいいのではと、いかにもアホンダラが考えそうな発想を思いつきました。
ええ、このGUI戦争時代の真っ只中に数十年前から存在する枯れた技術のCUI操作に戻ろうというのです。

要求事項

上から最優先事項です。

  • SSDに環境を構築
  • 軽量な動作
  • 基本はキーボード操作、マウスのほうが早いときはGUI操作
  • 高い互換性
  • IME対応
  • 快適な操作

特にSSDに環境を構築というのは、大学三年の後半から四年の前期でパソコンが壊れるという逸話[1]があるので、パソコンが壊れてもすぐに別の環境で使えるようにするためです。
ようはdotfileを作成するということです。

また、OS移植時の互換性を求めるためにソフトを厳選します。最近はWindows専用やMac専用という垣根を超えてマルチプラットフォームに対応したソフトが増えましたので。
操作感をなるべく変えないように互換性のあるソフトがいいです。
存在しなければソフトウェア自体作ってもいいですが・・・面倒くさいですね。Githubなどの普及で要求に答えられるソフトを見つけるのは簡単になりましたし。

さぁ、ここからが地獄の始まりだ!

現実の環境

https://zenn.dev/ame_x/articles/33ea2063316d16
この記事を拝見し、確かに現実問題もあるなと思いこの章を追加しました。いい機会ですので、現実の環境を快適にする方法を考えてみましょう。

ぬいぐるみを部屋に置く

記事の内容を読んでこれを思い出しました。たまにやっています。
https://ja.wikipedia.org/wiki/ラバーダック・デバッグ
喋る環境がないならこちらでもいいのかな。
https://qiita.com/sta/items/6661cfcb57cfefa9a36a

BGMをかける

とのことなのでいつも聴いているおすすめな曲の一部を載せます。歌詞入りのはここには載せていません。
https://open.spotify.com/intl-ja/album/2ipnQkuUk9J8tUfuXxzutK
https://open.spotify.com/intl-ja/album/0YDgZHDA4QGbRa6wHYfHFb
https://open.spotify.com/intl-ja/album/21F10ZiU3qh4BcOexeTHPf

こちらは特におすすめしたいアーティストです。
https://open.spotify.com/intl-ja/artist/2c32JruIkUyfdycHmhIph4

いい椅子といい机を使う

体格に合わない椅子を長時間使用していると、もちろんのこと健康被害をもたらすだけでなく、それ以上に身体が疲れる問題が発生します。
予算があるならいい椅子といい机を買いましょう。

モニターを増やす

モニターを増やすのが決定的に見やすくなります。
スマホに専用のアプリを入れたり専用の接続端子を繋いだりして外部モニター化するものいいでしょう。

デスクライトを使う

こんなフレーズを聞いたことはありませんか?「明るいところでテレビを見ましょう」。
暗い環境で明るいものを見続けていると目が疲れます。疲れを軽減するためにデスクライトで明るくしましょう。

お菓子を食べる

疲れた時に甘いものを食べたくなりますか?糖分補給をしましょう。
https://www.morinaga.co.jp/products/detail.php?id=PRD2010-02-0001
興味本位で買いましたが美味いです。(買ったのはグレープフルーツ味じゃなくてピーチ味ですが)
https://www.morinaga.co.jp/products/detail.php?id=PRD2023-12-0006

動く

ずっと座るよりかは立つほうがいいです。
昇降デスクを使ったりするのもいいでしょうか。
また、ペットボトルを近くに置くのではなく、常に冷蔵庫に入れて飲みたくなったら冷蔵庫まで歩くといった具合です。また、シャワーを浴びて気分を変える人もいるようなのでいろいろ試してみたほうがいいですね。

日常的に使えるフリーソフト

日常的に使える便利なフリーソフトを挙げていきます。専門的なものは入っていません。

PowerToys

https://learn.microsoft.com/ja-jp/windows/powertoys/
Windowsの機能を拡張するMicrosoft公式のオープンソースのソフトです。この一本でやれることがかなり増えます。
私がよく使っている機能を二つ紹介しましょう。

PowerToys Run

ランチャーソフトです。ソフトの起動はほとんどこれになりました。
簡単な計算やウィンドウ切り替えなどにも使えます。
https://www.flowlauncher.com/
https://ueli.app/#/
こちらもおすすめですね。

Advanced Paste

プレーンテキストやマークダウンとして貼り付けるのに使っています。
2023年3月からOfficeでは「ctrl + shift + v」でプレーンテキストとして貼り付けられるようになったそうですが、それ以前のOfficeではできなかったので導入していました。そもそもできるようになっていたのか・・・。

QuickLook

https://github.com/QL-Win/QuickLook
MacOSの機能をWindowsで使えるようにしたソフト。PowerToysのプレビューが少し重いと感じるならこちらをおすすめする。
https://forest.watch.impress.co.jp/docs/news/1541727.html
こんな方法もあるようで。

DevToys

開発者向けに作られたフリーソフトです。
詳細はこの記事を読んでください。私はこちらの記事を読んで導入を決定しました。
https://qiita.com/danishi/items/2de6a4ab028d27a8f4ab

SumatraPDF

https://www.sumatrapdfreader.org/free-pdf-reader
PDFを開くだけならこっちのほうが軽いです。

Upload Remote

https://www.ntwind.com/cross-platform/upload-remote.html
Windows、Mac、iOS、Android間でファイルを転送できるソフトです。

Magpie

https://github.com/Blinue/Magpie
低解像度のウィンドウなソフトをアップスケールできるソフト。拡大などができない昔のソフトをよく使う人にはおすすめです。

Mp3tag

https://www.mp3tag.de/en/index.html
メディアファイルのタグ編集を一括で行えるソフトです。フリー素材などの音源をアルバム情報などで管理したい場合に使えます。
また、古いCDからメディアファイルを読み取ったときにアルバム情報がないときがあるので、アルバムの画像をスキャナーで読み取ったりネットから拾ったりして付けたりしています。

Rexifer

https://www.vector.co.jp/soft/winnt/util/se484349.html
Exif情報を使用した名前の一括リネームができるソフトです。写真の整理を正規化しつつ簡単に済ませたいときに使えます。

速連くん

https://github.com/MasakazuTobeta/SokudaKun/releases
連打が面倒くさいときに使えるソフトです。

WizTree

https://diskanalyzer.com/
ファイルのディスク占有率を確認できるソフトです。ファイルを整理したいときに使えます。

Everything

https://www.voidtools.com/
ファイルを高速に検索できるソフトです。

Windowsの見た目

ソフトの設定を行う前にWindows本体の設定を見ていきましょう。

ダークモード

Windowsと言えば白色基調のウィンドウですが、ダークモードに変更することで目の負荷を軽減できます。
設定を開いて「個人用設定→色→モードを選ぶ」からダークに変更します。
これで誰もが憧れる黒色基調のOSの完成です!
ダークモード

フォント

Windows標準のメイリオなどを使ってもいいですが、せっかくなのでフォントを変更しましょう。
おすすめはユニバーサルデザイン系のフォントです。読みやすいフォントは目の疲れも軽減させます。

私が使っているのはUDEV Gothic JPDOCです。
https://github.com/yuru7/udev-gothic

パフォーマンスオプションの視覚効果

パフォーマンスオプションの視覚効果を変更してWindowsの動きを簡略化するのもいいですね。
設定次第では動作の重さも軽減されます。
システムのプロパティ
私はウィンドウ関連の動きを抑える設定で使っています。

ファイルの構造

ここに書いたら長くなったのでファイルの管理方法を考えるに書いています。
結論を書いちゃうと、保存するファイルやフォルダの命名規則は決めておこうという内容です。最初から最後までその説明が書かれた文章です。

ショートカットキー

ショートカットキーが分からない人はショートカットキーを覚えましょう。
https://support.microsoft.com/ja-jp/windows/windows-のキーボード-ショートカット-dcc61a57-8ff0-cffe-9796-cb9706c75eec
有名なのは「Ctrl + c」と「Ctrl + v」でしょう。それから「Ctrl + x」。
Windowsに限らずMacやLinuxに移行したときにも使えてかつソフトウェアに依存しないショートカットですので、Ctrlのショートカットキーは覚えて損がありません。
WindowsでもMacでも言えることですが、WindowsキーやMacキーを使うショートカットも便利なものが多いです。

キー配列の変更

ショートカットの話をする前に、君は「caps lock」を存じているか─────。
古代から伝わるワープロにて小文字大文字の切り替えを担当していたキー。しかし、今やBASICを扱う人間もおらず[2]、九割方すべて大文字で英語文章を打ち込む者はいないだろう。

Googleの検索サジェストには「Cpaslock 不要」とのように表示され、現在ではお邪魔虫のような扱いを受けています。また、ゲーマーの間では「caps lock」を「左ctrl」にしちゃおうというのが現代のトレンドになっているようです。私の場合、ctrlキーが摩耗して外れましたが。
「caps lock」を「ctrl」と入れ替えてしまいましょう。
https://forest.watch.impress.co.jp/library/software/changekey/
私はChgKey15を使って「caps lock」と「ctrl」を入れ替えました。また、AutoHotkeyは「caps lock」を修飾キーとして使えないので「F24」へ変更しています。
PowerToysがあるならKeyboard Managerを使って変更することもできます。
使いたい方を使いましょう。

また、キーボードの配列を思い切り変更するのも手です。
そもそもの話、広く普及しているQWERTY配列ですが、日本語を打つのも英語を打つのも非効率な配列です。
キーボード配列の考察記事があるので、興味があったら読むのもいいですね。
https://note.com/illlilllililill/n/nc099239c5565

ショートカットキーの割り当て

さて、みなさん。さきほどのショートカット一覧をご覧になりましたか?
各OSに搭載されている極めて標準的なショートカット。しかしながら、この世にはショートカットを自作する変人もいるのですよ。

https://www.autohotkey.com/
ということでショートカットを用意しましょう。AutoHotkeyを使ってショートカットを作成します。

.ahk
F24 & l::Send, {Blind}{right}
F24 & h::Send, {Blind}{left}
F24 & k::Send, {Blind}{up}
F24 & j::Send, {Blind}{down}

F24 & Tab::Send, {Blind}{vkF0sc03A}
F24 & LShift::Send, {Blind}{CapsLock}

F24 & F19::Send, {Blind}{PgUp}
F24 & F20::Send, {Blind}{PgDn}

・・・誤爆防止のコードですね。今使っているパソコンには矢印キーの近くに「pgup」と「pgdn」がありますゆえ。

コマンド

標準コマンド

Windowsを使っている前提でPowershell 7を挙げますが、Move-ItemSet-Locationなどを覚えておくと便利です。
また、Linuxなどを使っている人向けのエイリアスがあり、mvcdなどが(そのままではありませんが)使えます。

例えばですが、Powershellから特定のソフトを開くにはInvoke-Itemを使います。デフォルトでiiでも実行可能です。ii .と打つことでカレントディレクトリをファイラーで開けます。
こういったように標準で搭載されているコマンドも活用していきましょう。

こちらはGUI操作ですが、こういうのも活用していきましょう。
https://qiita.com/gunslinger/items/277f036db45c61d4a892

拡張コマンド

ターミナルを操作する上で必要な機能。それはコマンド!
ということでまずは便利なコマンドをインストールします。PowershellのMicrosoft.PowerShell_profile.ps1のSet-Aliasに設定するものがあるのでこっちからやります。
下のサイトなどを参考にして使える機能を入れていきましょう。
https://zenn.dev/the_exile/articles/5176b7a5c29bce
https://qiita.com/midiambear/items/2b0f17b6859e88b4f7ca
https://wonderwall.hatenablog.com/entry/rust-command-line-tools

おすすめなのはbatmicrozoxideyazibrootbtmgenactです。
ここら辺はcargo installでダウンロードできます。リリースされているバイナリを直接ダウンロードするcargo-binstallを使うといいでしょう。
microcargo install --lockedではなく実行ファイル形式でのダウンロードなのでそこだけ注意。

足りなければ作ってもいいですね。
こちら、start-sdstart-tgでStable DiffusionやText Generationをお手軽に起動できるbatファイルです。滅多に使わないけど。

start_sd.bat
@echo off
echo Start Stable Diffusion
cd C:\Users\%username%\Documents\Stable_Diffusion\stable-diffusion-webui
./webui-user.bat
start_tg.bat
@echo off
echo Start Text Generation
cd C:\Users\%username%\Documents\Text-Generation-webui\text-generation-webui-main
call C:\Users\%username%\Documents\.venv\ai_venv\Scripts\Activate.bat
python server.py

それよりかはよく使うものを考えます。
下の記事はgenv.ps1というPowershellのファイルです。グローバルにvenvを使いたくて作成しました。
https://zenn.dev/yuhi_ili/articles/0479e57a54b62c

基本的なプログラミング言語であればCLIを作成する機能はあるので、言語を学びながら作るのもいいでしょう。
https://zenn.dev/yuhi_ili/articles/62c87d5558b0bc
https://zenn.dev/yuhi_ili/articles/479b997e23e6eb
このように足りなければ作ればいいのです。Rustには開発しやすいツールもありますしね。
https://qiita.com/namn1125/items/5eb2c7cfecbf8870abe0

各ソフトの設定

ここからは各ソフトのコンフィグを見直していきます。

Powershell 7

https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.5
導入方法は省きます。最新のWindowsであれば自動で入ってるはずですし調べたらたくさん出てきますし、.msiなので開いたら自動で設定してくれます。
ここでやるのはMicrosoft.PowerShell_profile.ps1の設定です。

Microsoft.PowerShell_profile.ps1
@("Terminal-Icons","PSFzf") | ForEach-Object -Process {
    Import-Module $_ -NoClobber
}
Enable-PsFzfAliases

$WarningPreference = "SilentlyContinue" # Warningの非表示

Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadlineOption -HistoryNoDuplicates
Set-PSReadlineOption -BellStyle None
Set-PSReadLineOption -WordDelimiters ";:,.[]{}()/\|^&*-=+'<>「」()『』『』[]、,。"

function y {
    $tmp = [System.IO.Path]::GetTempFileName()
    yazi $args --cwd-file="$tmp"
    $cwd = Get-Content -Path $tmp -Encoding UTF8
    if (-not [String]::IsNullOrEmpty($cwd) -and $cwd -ne $PWD.Path) {
        Set-Location -LiteralPath ([System.IO.Path]::GetFullPath($cwd))
    }
    Remove-Item -Path $tmp
}
function cl {& cl.exe /source-charset:utf-8 @args}
Invoke-Expression (& { (zoxide init powershell | Out-String) })
Set-Alias v nvim
Set-Alias br broot
Set-Alias m micro
Set-Alias open Invoke-Item
Set-Alias touch New-Item

function prompt {
    $currentDir = (Get-Location).Path `
        -replace [regex]::Escape($HOME), "~" `
        -replace ".*Learn_University", "🏫"
    $(if (Test-Path variable:/PSDebugContext) { '[DBG]: ' }
      else {  }) + $currentDir +
        $(if ($NestedPromptLevel -ge 1) { '>>' }) + '> '
}

これでこんな感じになります。
Powershell 7
参考になった記事はこちらです。なかなかおもしろい設定をしています。
https://qiita.com/tomoko523/items/87ccaec05a433b02f67e
https://qiita.com/mokubo3/items/4def0c0fd9cfef468efe
本当はOh My Posh使いたかったんですがね。この環境だとなぜかエラーを吐きやがる。

Wezterm

ターミナルエミュレーターを選びます。Winodws TerminalやWarpなどが選択に入りますが、今回はWeztermを採用しました。
ここに書くには長すぎるので、設定方法は大学生、WindowsでWezterm(Nightly)の設定を構築する備忘録を読んでください。

micro

https://github.com/zyedidia/micro
簡単な編集などであればこちらを使っています。バイナリを.binのところに直接っぶち込んでいます。
このままだと少し使いずらいのでコンフィグをいじりましょう。
場所はユーザ名\.config\microsetting.jsonです。こちらのファイルは保存時に自働でアルファベット順に並び替えられる点に注意。
https://github.com/zyedidia/micro/blob/master/runtime/help/options.md

setting.json
{
    "colorscheme": "monokai",
    "eofnewline": false,
    "ft:c": {
        "tabstospaces": false
    },
    "ft:lua": {
        "tabsize": 2
    },
    "hlsearch": true,
    "scrollbar": true,
    "scrollbarchar": " ",
    "scrollmargin": 1,
    "tabstospaces": true,
    "tabsize": 4,
}

"eofnewline": false,で最後の行に改行を加えないようにします。
"hlsearch": true,は検索時のハイライトがすべて表示されるようになります。
"scrollbar": true,でスクロールバーを表示します。もし棒線が表示されるのが好みでないなら、"scrollbarchar": " ",で完全に色だけになります。
タブかスペースかを決めたいなら"tabstospaces"で変えられます。"ft:言語"で特定の言語に対応させることができます。

また、キーコンフィグはbindings.jsonで変更できます。こちらはいろいろ調べている途中です。

bindings.json
{
    "Alt-/": "lua:comment.comment",
    "CtrlUnderscore": "lua:comment.comment",
    "Ctrl-Backspace": "DeleteWordLeft",
    "Ctrl-Delete": "DeleteWordRight",
}

ただ、惜しいところははIMEが対応していないことですね。

Neovim

VimではなくVisual Studio Codeを使う場合はここを読み飛ばしても構いません。
私は軽量化のためにNeovimを使います。ええ、Visual Studio Codeが重いのでNeovimに移るだけです。Godotを使う時と―――気分でVisual Studio Codeに戻ります。

なお、私はVim小学生レベルです。検索をしたり置換したりする程度の技術です。
https://qiita.com/hachi8833/items/7beeee825c11f7437f54

現状は小さい開発にしか使っていませんが、Vim盆栽と言われるように肥料を選び剪定し最後に憤りながらデリートる・・・え、最後のはなにか違う?
まぁ苦渋に満ちた詳細な設定記事は『大学生、NeovimにおけるLazyvimの環境を構築した』を読んでください。lazyvimに飽きたらNvChadでも使ってみます。

yazi

https://github.com/sxyazi/yazi
使いやすいCLIのファイラーです。

詳細な情報はこちらが役に立ちます。
https://zenn.dev/kabec_dev/articles/9deed65b6b6519

Powershell 7のMicrosoft.PowerShell_profile.ps1にこのような設定を入れると、yaziを終了したときのディレクトリに移動してくれます。

Microsoft.PowerShell_profile.ps1
function y {
    $tmp = [System.IO.Path]::GetTempFileName()
    yazi $args --cwd-file="$tmp"
    $cwd = Get-Content -Path $tmp -Encoding UTF8
    if (-not [String]::IsNullOrEmpty($cwd) -and $cwd -ne $PWD.Path) {
        Set-Location -LiteralPath ([System.IO.Path]::GetFullPath($cwd))
    }
    Remove-Item -Path $tmp
}

Windowsではユーザ名\AppData\Roaming\yaziにあるconfigを変えるようです。
https://yazi-rs.github.io/
まずはカラースキームでも変えてみましょう。
https://yazi-rs.github.io/docs/configuration/theme/

theme.toml
[flavor]
use = "nightfly"

これでnightlyの設定になりました。他にも変えられそうですが変えていません。

開く設定も変えてみましょう。

yazi.toml
[manager]
show_hidden = true

[opener]
edit = [
  { run = '${EDITOR:-vi} "$@"', desc = "$EDITOR", block = true, for = "unix" },
  { run = 'nvim %*',    block = true, desc = "nvim",            for = "windows" },
  { run = 'nvim -w %*', block = true,  desc = "nvim (block)",   for = "windows" },
  { run = 'code %*',    orphan = true, desc = "code",           for = "windows" },
  { run = 'code -w %*', block = true,  desc = "code (block)",   for = "windows" },
]

show_hidden = trueで隠しファイルを最初から表示できるように。そしてnvimでneovimの起動ができるように。

キーバインドの設定はそこまで変えていません。
プラグインを導入してそれを起動するようにしている感じです。

keymap.toml
[manager]
prepend_keymap = [
  { on = "<Esc>", run = "close", desc = "Close the current tab, or quit if it's last" },

  # default Plugin
  { on = "z",         run = "plugin zoxide",               desc = "Jump to a directory via zoxide" },
  { on = "Z",         run = "plugin fzf",                  desc = "Jump to a file/directory via fzf" },

  # in Plugin
  { on = "<Enter>", run = "plugin smart-enter", desc = "Enter the child directory, or open the file" },
  { on = "F", run = "plugin smart-filter", desc = "Smart Filter" },
  { on = "T", run = "plugin toggle-pane min-preview", desc = "Show or hide the preview pane" },
  { on = "T", run = "plugin toggle-pane max-preview", desc = "Maximize or restore the preview pane" },
]
init.lua
require("full-border"):setup()

https://github.com/yazi-rs/plugins/tree/main/full-border.yazi
こちらのプラグインを起動するだけです。

broot

yaziのファイル表示が機能せずファイルを開こうとしても機能しないので、brootを使うことにしました。ディレクトリ間を移動しないならこっちのほうが使いやすい気がする。
不便を感じていないので設定はいじっていません。

lazygit

Visual Studio CodeのGitではなく、ターミナル上で動作できるGitを使えるようにしたいのでこちらを採用しました。Neovimのlazyvimを入れるときに同時に入れています。

lazygitのコンフィグフィアルはユーザ名\AppData\Local\lazygitconfig.ymlです。コンフィグはこちらを参考にしながら作成しました。
https://minerva.mamansoft.net/📘Articles/📘Lazygitを自分好みにカスタマイズしてみた

config.yml
gui:
  nerdFontsVersion: "3"

git:
  paging:
    colorArg: always
    pager: delta --dark --paging=never
  allBranchesLogCmd: git log --graph --color=always --date=format:'%Y-%m-%d %H:%M' --pretty=format:'%C(#a0a0a0 reverse)%h%Creset %C(cyan)%ad%Creset %C(#dd4814)%ae%Creset %C(yellow reverse)%d%Creset %n%C(white bold)%s%Creset%n' --
  branchLogCmd: git log --graph --color=always --date=format:'%Y-%m-%d %H:%M' --pretty=format:'%C(#a0a0a0 reverse)%h%Creset %C(cyan)%ad%Creset %C(#dd4814)%ae%Creset %C(yellow reverse)%d%Creset %n%C(white bold)%s%Creset%n' {{branchName}} --

Visual Studio Code

Visual Studio Codeのsetting.jsonをきれいに整えました。
この記事に書いたらやたら長くなったので別記事の『大学生、Visual Studio Codeのsettings.jsonを整える』に移しました。

Brave

Chromeと同じ操作感にしています。つまりブラウザとしては変えていません。
ただ、Vimiumを入れてキーボードの操作を加えています。
https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=ja

# Custom key mappingsの入力タブ
# Insert your preferred key mappings here.

"unmapAll

map ? showHelp

#モード
map a enterNormalMode

# ページスクロール
map k scrollUp
map l scrollPageUp
map j scrollDown
map h scrollPageDown
map J scrollLeft
map K scrollRight
map gg scrollToTop
map GG scrollToBottom
map p openCopiedUrlInCurrentTab
map P openCopiedUrlInNewTab
map m Marks.activateCreateMode
map M Marks.activateGotoMode
unmap <c-e>
unmap <c-y>
unmap d
unmap u
unmap G

#タブ
map t
map > moveTabRight
map < moveTabLeft
map yT duplicateTab
map gT goToRoot
unmap gt
unmap gT
unmap g0
unmap g$
unmap >>
unmap <<
unmap x
unmap X

#便利
"2つ目の入力ボックスにフォーカスしたい時は「2I」と入力する
map e focusInput
unmap r
unmap gi

Vivaldi

数あるブラウザの中で設定項目が非常に多いソフトです。
標準の設定からまぁまぁ変わっている状態です。設定を載せようと思いましたが、画像の貼り付けになるのでこの記事では取り扱いません。
忘れていなければ別記事で設定を載せます。
最終的な見た目はこのようになっています。
Vivaldi

Vivaldi自体キーボードに割り当てられるコンフィグが多いのですが、それでも足りない機能はVivaldi用に設定したVimiumを使っています。
https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=ja

# ABCDEFGHILNOQRSUVWXYZabcdegmnoqrsuvwxz1234567890+*-/=:;^~\|@`[{]},./\_!"#$%&'()

# Custom key mappingsの入力タブ
# Insert your preferred key mappings here.

unmapAll

map ? showHelp

#モード
map i enterInsertMode

# ページスクロール
map k scrollUp
map l scrollPageUp
map j scrollDown
map h scrollPageDown
map J scrollLeft
map K scrollRight
# map gg scrollToTop
# map GG scrollToBottom
map f LinkHints.activateMode
map F LinkHints.activateModeToOpenInNewTab
# map p openCopiedUrlInCurrentTab
# map P openCopiedUrlInNewTab

#タブ
map t createTab
map yt duplicateTab
# map gt goToRoot

#便利
map yy copyCurrentUrl
map yf LinkHints.activateModeToCopyLinkUrl

まとめ

根本的にパソコンを買い替えてスペックを上げる方針を取ればいいでしょうがね。このままだと購入から3年半で壊れる未来ですよ。大学三年生の後期で壊れますよ。
持ち運ぶと電源が落ちる、Fnキー+F4でタッチパッドのオンオフのはずがWindowsキー、モニターがキーボードにこすれて跡が付きまくり、ctrlキーが使いすぎで外れる、キーボードにスマホを落としてへこませる。すでにオンボロです。

他にはBrowshのようなターミナルで使えるブラウザを導入しようと思いましたが、WindowsもといWSLでもうまくいかず。Pythonもpyenv+enveではなくuvにしようと思いましたが、パソコンを買い替えてからでもよさそう。

それはともかく、dotfileという形で設定ファイルをまとめることができました。
これでパソコンを急に移行することになっても問題ないですね。Zorin OSとかに興味があるので、買い換えたら検討してみましょうか。

脚注
  1. 一般的に言われている耐用年数が三年から五年なのでそりゃそうですねとしか。ちなみに日本で定められている法定耐用年数が四年だそうで。 ↩︎

  2. SmileBASICをパソコンでやるなら話は別だが。 ↩︎

Discussion