使用〜(代字号)进行逐位反转

时间:2012-10-21 02:29:02

标签: vim

除了切换大小写之外,在Vim中扩展(代字号)键的功能以在文本中反转1和0是什么好方法?

也就是说,如果我的光标在正常模式下为0或1,并且我希望将其转换为1或0(分别),那么有什么好办法可以实现这没有改变字母字符的正常行为(大写/小写交换)?

1 个答案:

答案 0 :(得分:4)

快速查看:help ~说“不”。您可能需要编写一个小函数并将其映射到~

function! BinSwitch()
  let current_char = getline(".")[col(".") - 1]
  if current_char == "0"
    normal! r1
  elseif current_char == "1"
    normal! r0
  else
    normal! ~
  endif
endfunction

nnoremap ~ :silent call BinSwitch()<cr>