Vimscriptを書いてみた

元ネタは誰かさんがどっかで言ってたコピーする時numberとかlistあると邪魔だよねより。

オプションを変数の様に使う

接頭語に&をつけると使えるようになる。これしか使ってない

行番号、不可視文字の表示をトグル

function! CopymodeToggle()
    if &list
        set nolist
    else
        set list
    endif

    if &number
        set nonumber
    else
        set number
    endif
endfunction

※追記:コメントでトグルを教えてもらった。条件判定いらない

function! CopymodeToggle()
    set invlist
    set invnumber
endfunction

※さらに追記:setだとグローバルな値を書き換えるので全バッファに適応されてしまうからsetlocal使え。

function! CopymodeToggle()
    setlocal invlist invnumber
endfunction

呼び出す時はこんなこと定義すればいいと思うよ

nnoremap <silent> ,cp :call CopymodeToggle()<CR>

これはひどい。少しずつお勉強をする