Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

true/falseを切り替えるコマンドを作った

$
0
0

内容

コードを書いている時にtrue/falseを書き直すのが面倒なので、Vim scriptの勉強として作ってみた。
switchBoolean.gif

コード

function! BooleanToggle()
  let l:word = expand("<cword>")
  let l:bool = {'true': 'false', 'false': 'true'}
  if has_key(l:bool, l:word)
        let l:tmp = @a
    let @a = l:bool[l:word]
    execute 'normal "_diw'
    execute 'normal "aP'
      let @a = l:tmp
  endif
endfunction
nnoremap <silent> <LEADER>+ :call BooleanToggle()<CR>

コード説明

  1. expand("<cword>")でカーソルの単語をローカル変数に格納
  2. true/falseの辞書型変数を作成
  3. カーソルの単語がtrue/falseだったらレジスタをローカル変数に退避させ、レジスタに値を格納
  4. レジスタを上書きしないようにブラックホールレジスタでカーソルの単語を削除
  5. レジスタに格納した論理値をペースト
  6. 退避させたレジスタを元のレジスタに格納
  7. <LEADER>+で論理値を切り替えるように設定

その他

AndrewRadev/switch.vimというプラグインがあるみたい。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>