Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Hasu
@hashue
" abbrev の自動生成を行う
" cnoreabbrev <expr> s ((getcmdtype() ==# ":" && getcmdline() ==# "CocCommand s")? "snippets.editSnippets" : "s")
function! s:make_abbrev_rule(rules)
  let keys = uniq(sort(map(copy(a:rules), "v:val['from']")))
  for key in keys
    let rules_with_key = filter(copy(a:rules), "v:val['from'] ==# '" .. key .. "'")
    let dict = {}
    for val in rules_with_key
      if has_key(val, 'prepose')
        let dict[val['prepose'] .. ' ' .. key] = (val['to'])
      elseif has_key(val, 'prepose_nospace')
        let dict[val['prepose_nospace'] .. key] = (val['to'])
      else
        let dict[key] = val['to']
      endif
    endfor
    exec 'cnoreabbrev <expr> ' .. key .. ' '
    \ .. '(getcmdtype() !=# ":")? "' .. key .. '" : '
    \ .. 'get(' .. string(dict) .. ', getcmdline(), "' .. key .. '")'
  endfor
endfunction
monaqa
@monaqa
エスパーか
thinca
@thinca
PAT が古くて死んでるのかな…一旦別ので代用するか…
Tsuyoshi CHO
@tsuyoshicho
@monaqa さん
https://github.com/chrisbra/Colorizer
を使ってます
kuuote
@kuuote
クリスチャン先生
Tsuyoshi CHO
@tsuyoshicho
こんなことしてる
[[plugins]] # Colorize
# repo = 'ap/vim-css-color'
repo = 'chrisbra/Colorizer'
on_ft = ['clojure', 'css', 'dosini', 'elm', 'go', 'html', 'i3', 'i3config', 'javascript', 'json', 'jsx', 'less', 'moon', 'perl', 'php', 'python', 'r', 'ruby', 'sass', 'scss', 'stylus', 'typescript', 'sh', 'vim', 'xdefaults', 'xml', 'yaml']
hook_source = '''
  let g:colorizer_auto_filetype = join(g:dein#plugin.on_ft, ',')
'''
kuuote
@kuuote
keymap.vim#L120+21 自作オペレータだ
" §§2 send string to terminal buffer
nnoremap <Space>t :<C-u>set opfunc=<SID>op_send_terminal<CR>g@
nnoremap <Space>tp :<C-u>set opfunc=<SID>op_send_terminal<CR>g@ap
nnoremap <nowait> <Space>tt :<C-u>call <SID>send_terminal_line(v:count1)<CR>
vnoremap <Space>t <Esc>:<C-u>call <SID>send_terminal_visual_range()<CR>

function! s:op_send_terminal(type)
  let sel_save = &selection
  let &selection = "inclusive"
  let m_reg = @m

  if a:type == 'line'
    let visual_range = "'[V']"
  else
    let visual_range = '`[v`]'
  endif
  exe "normal! " . visual_range . '"my'
  call chansend(g:current_terminal_job_id, s:reformat_cmdstring(@m))

  let &selection = sel_save
  let @m=m_reg
endfunction
thinca
@thinca
!reading_vimrc start
Peacock
@peacock0803sz
あれ?
thinca
@thinca
ダメか…?
monaqa
@monaqa
なるほどーありがとうございます。 Colorizer 検討してみよう
Hasu
@hashue
!reading_vimrc status
vim-jp-bot
@vim-jp-bot
stopped
Hasu
@hashue
だめだ
thinca
@thinca
ERROR Error: GET https://api.github.com/repos/monaqa/dotfiles/commits/HEAD was failed:401
ドウシテ…
Hasu
@hashue
あらら…
Peacock
@peacock0803sz
普通にブラウザからはGETできてるな
kuuote
@kuuote
一旦PAT無しでやってみる?
monaqa
@monaqa
うーん。なんでだろう。今日コミットしたのがいけなかったのかな…?
Hasu
@hashue
この辺りパクらせてもらおう
command! -bang -nargs=0 DeleteMe call DeleteMe(<bang>0)
function! DeleteMe(force)
  if a:force || !&modified
    let filename = expand('%')
    bdelete!
    call delete(filename)
  else
    echomsg 'File modified'
  endif
endfunction

" 今開いているファイルをリネーム
command! -nargs=1 RenameMe call RenameMe(<q-args>)
function! RenameMe(newFileName)
  let currentFileName = expand('%')
  execute 'saveas ' . a:newFileName
  bdelete! #
  call delete(currentFileName)
endfunction
cnoreabbrev <expr> RenameMe "RenameMe " . expand('%')
thinca
@thinca
forever の再起動だと環境変数適用されない気がしてきた
Tsuyoshi CHO
@tsuyoshicho
plugin.vim#L107
なるほど、自分も入れようかな
‘call textobj#user#plugin('jbraces', {‘
kuuote
@kuuote
keymap.vim#L179+6 jくん…
" ちょっと j くんには悪いけど,fj は予約したほうが便利.
" これで「fj.」 と押せば全角ピリオドを検索できる
noremap fj f<C-k>j
noremap Fj F<C-k>j
" normal/visual mode の t を潰したため omap のみ
onoremap tj t<C-k>j
onoremap Tj T<C-k>j
thinca
@thinca
!reading_vimrc start
Peacock
@peacock0803sz
ごめんよjくん
vim-jp-bot
@vim-jp-bot
=== 第470回 vimrc読書会 ===
  • 途中参加/途中離脱OK。声をかける必要はありません
  • 読む順はとくに決めないので、好きなように読んで好きなように発言しましょう
  • vimrc 内の特定位置を参照する場合は行番号で L100 や L100-110 のように指定します
  • 今回は複数ファイルがあるため、filename#L100 のようにファイル名を指定します
  • 省略した場合は直前に参照しファイルか、それがない場合は適当なファイルになります
  • 特定の相手に発言/返事する場合は @username を付けます
  • 一通り読み終わったら、読み終わったことを宣言してください。終了の目安にします
  • ただの目安なので、宣言してからでも読み返して全然OKです
  • 今回は前編です。終了時間になったら、途中でも強制終了します
  • 続きは来週読みます
  • いつも通り各自のペースで読むので、どこまで読んだか覚えておきましょう
    今回読む vimrc: monaqa さん:
    init.vim (DL)
    plugin_beforeload.vim (DL)
    minpac.vim (DL)
    plugin.vim (DL)
    option.vim (DL)
    keymap.vim (DL)
    abbr.vim (DL)
    autocmd.vim (DL)
    command.vim (DL)
    filetype.vim (DL)
    plugin.lua (DL)
    coc-settings.json (DL)
    monaqa.txt (DL)
Peacock
@peacock0803sz
おっ
monaqa
@monaqa
すばら
Tsuyoshi CHO
@tsuyoshicho
復活
kuuote
@kuuote
お、始まった
mityu
@mityu
おっ
thinca
@thinca
おまたせしました :bow:
monaqa
@monaqa
:tada:
Tsuyoshi CHO
@tsuyoshicho
いえ、ありがとうございます。
kuuote
@kuuote
hi
Peacock
@peacock0803sz
:sasu_manbou:
monaqa
@monaqa
ありがとうございます!
thinca
@thinca
運動をしてシャワーを浴びていないので浴びてきます ノシ
kuuote
@kuuote
いてら
keymap.vim#L264+2 右寄せのalignは新鮮
vim-jp-bot
@vim-jp-bot
keymap.vim#L264-L266
 264 | nnoremap <silent>  y<Space> <Cmd>call <SID>temporal_attention()<CR><Cmd>call <SID>temporal_relnum()<CR>y
 265 | nnoremap <silent> gu<Space> <Cmd>call <SID>temporal_attention()<CR><Cmd>call <SID>temporal_relnum()<CR>gu
 266 | nnoremap <silent> gU<Space> <Cmd>call <SID>temporal_attention()<CR><Cmd>call <SID>temporal_relnum()<CR>gU
Hasu
@hashue
general.vimはいるのかな
空だけど
mityu
@mityu
command.vim、diff_these()だけスクリプトローカル関数になってるのなんかもやっとする
Peacock
@peacock0803sz
option.vim#L15 80文字なんだ
vim-jp-bot
@vim-jp-bot
option.vim#L15
  15 | set colorcolumn=80
monaqa
@monaqa
うける。 general.vim なんてあったのか
kuuote
@kuuote
w
Hasu
@hashue
w
mityu
@mityu
w