LoginSignup
6
5

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-03-21

内容

コードを書いている時に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というプラグインがあるみたい。

6
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5