🙆

dein.vim 用の toml ファイルで Vim script を快適に書く

2022/11/25に公開

2022-12-25 追記

これなら context_filetype.vim でうまいことできそうなので使わせてもらう。
[plugins.ftplugin] の書き方はすぐ忘れてしまうな。

https://github.com/4513ECHO/dotfiles/blob/9e043064780a15f8926faeba42b49f8f4358a102/config/nvim/dein/plugin.toml#L569-L598

https://github.com/4513ECHO/dotfiles/blob/9e043064780a15f8926faeba42b49f8f4358a102/config/nvim/dein/plugin.toml#L456-L472

元記事

vim-jp Slack で partedit を使うと良さそうな話が出ていたので、こんな感じで設定して使ってみている。
だいたいいい感じ。
context_filetype.vim も試してみたけれど、たまに Vim script ゾーンに入っていても判定がされなかったりしたので、一番浅いインデントの行に移動して <Space>i で partedit に入っている。

plugins.toml

[[plugins]]
repo = 'thinca/vim-partedit'
on_func = 'partedit#'
hook_add = '''
  " depends kana/vim-textobj-indent
  nmap <Leader>i vai;ParteditCodeblock<CR>

  command! -range ParteditCodeblock call s:partedit_code_block(<line1>, <line2>)
  function! s:partedit_code_block(line1, line2)
    let line_codeblock_start = getline(a:line1 - 1)
    call partedit#start(a:line1, a:line2)

    nnoremap <buffer> qq <Cmd>ParteditEnd<CR>
  endfunction

  autocmd vimrc FileType toml let b:partedit_filetype = 'vim'
'''

[[plugins]]
repo = 'kana/vim-textobj-indent'
depends = 'vim-textobj-user'
on_map = {ox = ['ii', 'ai', 'iI']}

[[plugins]]
repo = 'kana/vim-textobj-user'
GitHubで編集を提案

Discussion