---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 71
  claims_with_evidence: 71
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：layers-distributions.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：71 / 71、根拠なし：0
- 優先レビュー（高）
  1. **UT-DIS-006〜007, 041〜042**：バージョン別マッピング・プラグイン設定（複雑な条件分岐）
  2. **UT-DIS-034〜035**：プラグイン遅延読み込み制御（タイマー処理）
  3. **UT-DIS-050〜052**：最終ウィンドウ自動終了処理（エッジケース）

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `layers/+distributions/better-defaults/config.vim`（36行）
- E-02: `layers/+distributions/better-defaults/keybindings.vim`（58行）
- E-03: `layers/+distributions/better-defaults/packages.vim`（59行）
- E-04: `layers/+distributions/spacevim/config.vim`（95行）
- E-05: `layers/+distributions/spacevim/packages.vim`（9行）

## 3) Claims と根拠の対応（レビューの主戦場）

### better-defaults/config.vim 関連（UT-DIS-001〜011）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | InsertLeave時にcursorlineが有効になる | E-01: L4-8 `augroup spacevimCursorline` | ○ |
| C-02 | filetypeがclap_inputの場合cursorlineが設定されない | E-01: L6 `if &ft !=# 'clap_input'` | ○ |
| C-03 | InsertEnter時にnocursorlineが設定される | E-01: L7 `autocmd InsertEnter,WinLeave * set nocursorline` | ○ |
| C-04 | WinEnter時にcursorlineが有効になる | E-01: L6 `autocmd InsertLeave,WinEnter *` | ○ |
| C-05 | WinLeave時にnocursorlineが設定される | E-01: L7 `autocmd InsertEnter,WinLeave * set nocursorline` | ○ |
| C-06 | patch-8.0.1238がある場合にanzu用マッピングが設定される | E-01: L13-15 `if has('patch-8.0.1238')` | ○ |
| C-07 | patch-8.0.1238がなくNvimでない場合にincsearch.vimマッピングが設定される | E-01: L16-28 `else` ブロック | ○ |
| C-08 | Nvim環境ではincsearch.vimマッピングが設定されない | E-01: L17 `if !g:spacevim.nvim` | ○ |
| C-09 | GUI Vim環境ではincsearch.vimマッピングが設定されない | E-01: L19 `if !g:spacevim.gui` | ○ |
| C-10 | g:choosewin_overlay_enableが1に設定される | E-01: L33 `let g:choosewin_overlay_enable = 1` | ○ |
| C-11 | keybindings.vimが正しく読み込まれる | E-01: L36 `execute 'source' ... '/keybindings.vim'` | ○ |

### better-defaults/keybindings.vim 関連（UT-DIS-012〜033）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-12 | Leader+fRで$MYVIMRCが再読み込みされる | E-02: L2 `nnoremap <Leader>fR :source $MYVIMRC<CR>` | ○ |
| C-13 | Leader+rcでカーソル下の単語置換コマンドが開始される | E-02: L5 `nnoremap <leader>rc :%s/\<<C-r><C-w>\>/` | ○ |
| C-14 | Ctrl+Tabで次のタブに移動する | E-02: L12 `map <C-Tab> :tabnext<CR>` | ○ |
| C-15 | Alt+Tabで前のタブに移動する | E-02: L14 `map <M-Tab> :tabprev<CR>` | ○ |
| C-16 | 挿入モードでCtrl+Tabで次のタブに移動する | E-02: L13 `imap <C-Tab> <C-O>:tabnext<CR>` | ○ |
| C-17 | Leader+数字で対応するウィンドウに移動する | E-02: L17-19 `for s:i in range(1, 9)` ループ | ○ |
| C-18 | Leader+1で最初のウィンドウに移動する | E-02: L19 `execute 'nnoremap <Leader>'.s:i ' :'.s:i.'wincmd w<CR>'` | ○ |
| C-19 | Leader+9で9番目のウィンドウに移動する | E-02: L17-19 `range(1, 9)` | ○ |
| C-20 | Leader+Leader+数字で対応するタブに移動する | E-02: L22 `execute 'nnoremap <Leader><Leader>'.s:i s:i.'gt'` | ○ |
| C-21 | Leader+b+数字で対応するバッファに移動する | E-02: L25 `execute 'nnoremap <Leader>b'.s:i ':b'.s:i.'<CR>'` | ○ |
| C-22 | ]bで次のバッファに移動する | E-02: L33 `nnoremap ]b :bnext<cr>` | ○ |
| C-23 | [bで前のバッファに移動する | E-02: L34 `nnoremap [b :bprev<cr>` | ○ |
| C-24 | ]tで次のタブに移動する | E-02: L37 `nnoremap ]t :tabn<cr>` | ○ |
| C-25 | [tで前のタブに移動する | E-02: L38 `nnoremap [t :tabp<cr>` | ○ |
| C-26 | Leader+bhでStartifyが起動する | E-02: L44 `nnoremap <silent><Leader>bh :Startify<CR>` | ○ |
| C-27 | Leader+xdで末尾空白が削除される | E-02: L47 `nnoremap <Leader>xd :StripWhitespace<CR>` | ○ |
| C-28 | Leader+wwでウィンドウ選択モードになる | E-02: L50 `nmap <Leader>ww <Plug>(choosewin)` | ○ |
| C-29 | Leader+tcでCursorColumnがトグルされる | E-02: L53 `nnoremap <Leader>tc :call spacevim#vim#toggle#CursorColumn()<CR>` | ○ |
| C-30 | Leader+tCでColorColumnがトグルされる | E-02: L54 `nnoremap <Leader>tC :call spacevim#vim#toggle#ColorColumn()<CR>` | ○ |
| C-31 | :Rtpでランタイムパスが表示される | E-02: L56 `command! -bar -nargs=0 Rtp :call spacevim#util#Runtimepath()` | ○ |
| C-32 | :Grep patternで検索が実行される | E-02: L57 `command! -nargs=? Grep :call spacevim#vim#grep#Grep(<q-args>)` | ○ |
| C-33 | :Grepで引数なしの場合も動作する | E-02: L57 `-nargs=?` オプション | ○ |

### better-defaults/packages.vim 関連（UT-DIS-034〜042）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-34 | speed_up_via_timerがtrueの場合にタイマーで遅延読み込みが設定される | E-03: L5-10 `if g:spacevim.speed_up_via_timer` | ○ |
| C-35 | speed_up_via_timerがfalseの場合に即時読み込みが行われる | E-03: L11-15 `else` ブロック | ○ |
| C-36 | 引数なし起動時にStartifyが読み込まれる | E-03: L22-27 `function! s:LoadStartifyIfNoArgs()` | ○ |
| C-37 | 引数あり起動時にStartifyが読み込まれない | E-03: L23 `if !argc()` | ○ |
| C-38 | gvim以外のプログラム名の場合Startifyが読み込まれない | E-03: L23 `v:progname =~ "vim$"` | ○ |
| C-39 | spacevim_enable_startifyが1の場合にStartifyが設定される | E-03: L18 `if get(g:, 'spacevim_enable_startify', 1)` | ○ |
| C-40 | spacevim_enable_startifyが0の場合にStartifyが設定されない | E-03: L18 条件分岐 | ○ |
| C-41 | patch-8.0.1238がある場合にis.vimとvim-anzuが設定される | E-03: L41-43 `if has('patch-8.0.1238')` | ○ |
| C-42 | patch-8.0.1238がなくNvimでない場合にincsearch系プラグインが設定される | E-03: L44-57 `else` ブロック | ○ |

### spacevim/config.vim 関連（UT-DIS-043〜067）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-43 | ファイルオープン時にカーソル位置が復元される | E-04: L3-15 `function! s:OnBufReadPost()` | ○ |
| C-44 | 復元無効設定時にカーソル位置が復元されない | E-04: L4 `if !get(g:, 'spacevim_disable_restore_cursor_position_on_open', 0)` | ○ |
| C-45 | 記録位置が1行目の場合は復元がスキップされる | E-04: L6 `if line("'\"") > 1` | ○ |
| C-46 | 記録位置がファイル行数を超える場合は復元がスキップされる | E-04: L6 `&& line("'\"") <= line("$")` | ○ |
| C-47 | 1000行以下のファイルでは相対行番号が維持される | E-04: L12 `if line('$') > 1000` | ○ |
| C-48 | 1000行を超えるファイルでは相対行番号が無効化される | E-04: L12-13 | ○ |
| C-49 | バッファ進入時に構文同期が200行に制限される | E-04: L19 `syntax sync maxlines=200` | ○ |
| C-50 | 最後のウィンドウがquickfixの場合に自動で閉じられる | E-04: L27-31 `let l:bt_blacklist = ['quickfix', 'locationlist']` | ○ |
| C-51 | 最後のウィンドウがlocationlistの場合に自動で閉じられる | E-04: L27 `l:bt_blacklist` | ○ |
| C-52 | 最後のウィンドウがquickmenuの場合に自動で閉じられる | E-04: L28 `let l:ft_blocklist = ['quickmenu']` | ○ |
| C-53 | 複数ウィンドウが存在する場合は閉じられない | E-04: L30 `if winnr('$') == 1` | ○ |
| C-54 | gitcommitファイルでは1行目にカーソルが移動する | E-04: L44-46 `if &filetype == "gitcommit"` | ○ |
| C-55 | gitcommit以外のファイルではカーソル移動が行われない | E-04: L44 条件分岐 | ○ |
| C-56 | QuickFixに結果があり、ウィンドウがない場合に自動で開かれる | E-04: L49-53 `function! s:OnQuickFixCmdPost()` | ○ |
| C-57 | QuickFixが空の場合はウィンドウが開かれない | E-04: L51 `&& len(getqflist())` | ○ |
| C-58 | 既にQuickFixウィンドウがある場合は新たに開かれない | E-04: L51 `!len(filter(...))` | ○ |
| C-59 | 10MB以上のファイルで構文ハイライトが無効化される | E-04: L56-60 `function! s:TurnOffSyntaxIfTooLarge()` | ○ |
| C-60 | 10MB未満のファイルでは構文ハイライトが維持される | E-04: L57 `if getfsize(...) > 10000000` | ○ |
| C-61 | xml/json/textファイルでのみ関数が呼び出される | E-04: L87 `autocmd FileType xml,json,text` | ○ |
| C-62 | space_vim_themeが正常に適用される | E-04: L64-68 `try` ブロック | ○ |
| C-63 | space_vim_themeがない場合にspace-vim-darkが適用される | E-04: L67 `catch` | ○ |
| C-64 | 末尾空白にハイライトが適用される | E-04: L71-72 `hi ExtraWhitespace` | ○ |
| C-65 | タブラインが設定される | E-04: L74 `set showtabline=1 tabline=...` | ○ |
| C-66 | chineseレイヤーが読み込まれていない場合に英語メニューが設定される | E-04: L76-78 `if !spacevim#load('chinese')` | ○ |
| C-67 | chineseレイヤーが読み込まれている場合は言語設定が変更されない | E-04: L76 条件分岐 | ○ |

### spacevim/packages.vim 関連（UT-DIS-068〜071）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | space-vim-darkとspace-vim-themeが読み込まれる | E-05: L1-2 `MP 'liuchengxu/space-vim-dark'` | ○ |
| C-69 | vim-better-defaultが読み込まれる | E-05: L4 `MP 'liuchengxu/vim-better-default'` | ○ |
| C-70 | airlineとlightlineが読み込まれていない場合にeleline.vimが読み込まれる | E-05: L6-8 `if !spacevim#load_any(...)` | ○ |
| C-71 | airlineが読み込まれている場合にeleline.vimが読み込まれない | E-05: L6 条件分岐 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（すべてのテストケースにソースコードによる根拠あり）

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 全テストケースがソースコードから直接導出されており、推測や仮定に基づく主張はない

### 注意点
1. **バージョン依存処理**: `has('patch-8.0.1238')` による分岐が複数箇所にあり、Vimバージョンによるテスト環境の差異に注意
2. **環境依存処理**: `g:spacevim.nvim`, `g:spacevim.gui` による分岐があり、Neovim/GUI Vimでの挙動が異なる
3. **外部関数依存**: `spacevim#vim#toggle#CursorColumn()` 等の外部関数呼び出しがあり、これらの単体テストは別途必要

## 6) レビュアーチェックリスト（最小）
- [ ] バージョン別分岐（patch-8.0.1238）のテストケースが網羅されているか確認
- [ ] Nvim/GUI環境での除外条件が適切にテストされているか確認
- [ ] オートコマンドイベント（InsertLeave, WinEnter等）のトリガー条件を確認
- [ ] 外部関数呼び出し（spacevim#xxx）の戻り値・副作用を確認
- [ ] 境界値（1000行、10MB）の閾値が仕様通りか確認
