Humanity

Edit the world by your favorite way

Windows でたまに US キーボードになってしまう問題の解決策

要約

デフォルトで左 Alt + Shift で切り替えるショートカットが割り振られているので割当を削除する。

手順

Window の設定 (Win + I) → 時刻と言語 → 言語 → キーボード

f:id:tyru:20210612102149p:plain

「入力言語のホットキー」

f:id:tyru:20210612102215p:plain

「入力言語を切り替える」を選択 → 「キーシーケンスの変更」

f:id:tyru:20210612102541p:plain

「入力言語の切り替え」→「割り当てなし」を選択 → 「OK」または「適用」

f:id:tyru:20210612102730p:plain

Windows 10 で WebDAV をマウントする

  1. インターネットオプションの「イントラネット」に WebDAV サーバのドメインを追加 (ドットを含めること)
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\ParametersBasicAuthLevel2 に設定する (されてなければ)
  3. 50 MB 以上のファイルをアップロードしたい場合は FileSizeLimitInBytes も修正 (参照)
  4. ネットワークドライブの割当で「別の資格情報を使用して接続する」をチェックして ID/PW を入力する

https の場合は証明書を Windows にインストールする等の手順が必要(今回は自宅サーバに繋いだだけなので割愛)

git diff の出力を畳む Ex コマンド

foldmethod=expr は重いし filetype=diff とかじゃない捨てバッファ(例えば :r!git diff foo...bar して出力を取り込んだバッファ)でもサクッと畳みたいので作った。
:FoldDiff すると現在バッファの git diff の出力を畳みます。

command! FoldDiff call s:cmd_fold_diff()
function! s:cmd_fold_diff() abort
  if getline(1) !~# '^diff '
    1,/^diff /-1 delete _
  endif
  normal! zE
  1
  while search('^diff ', 'W')
    ?^diff ?,.-1 fold
  endwhile
  .,$ fold
endfunction

プラグインとして作るなら foldmethod=expr になるだろうけどデカい diff とかの時つらそう(適当)。
ちなみに上記のコードは git diff 以外、例えば素の diff の出力とか他 VCS の diff とかは試してないので色々適当です。