Closed2

Vimのタブ名が、index.tsxだけで見づらかったので、直親ディレクトリ名も表示する

kfly8kfly8
➜ tree .
.
└── components
   ├── Bar
   │  └── index.tsx
   └── Foo
      └── index.tsx

こんなディレクトリ構成だった時に、
FooコンポーネントとBarコンポーネントを同時に開くと、
タブ名が、index.tsxとなって、どのコンポーネントを開いているかわからない状態だった。ツライ。

kfly8kfly8

これをこんな感じで表示できるようにした。

私は、lightlineを使っているので、そちらに次の設定をした。
ファイルパスから、直親ディクトリ名を取り出して、くっつけた。便利。

let g:lightline = {
      \ 'tab_component_function': {
      \   'filename': 'LightlineTabFilename'
      \ }
    \ }

function! LightlineTabFilename(n)
  let bufnr    = tabpagebuflist(a:n)[tabpagewinnr(a:n) - 1]
  let filepath = expand('#' . bufnr . ':p')

  let parent = fnamemodify(fnamemodify(filepath, ':h'), ':t')
  let name   = fnamemodify(filepath, ':t')
  let tab_filename = parent . '/' . name

  return ('' != tab_filename ? tab_filename : '[No Name]')
endfunction
このスクラップは2023/02/14にクローズされました