在vim中两个等号(==#)后,哈希(#)符号的含义是什么

时间:2017-08-23 14:34:58

标签: vim

我在enter link description here处查看下面的代码,它的作用是将视觉选择中的单词从大写字母切换到小写,然后切换到标题大小写。我试图将此功能更改为将标题案例中的单词切换为小写,然后更改为大写。问题是我不知道==#在这里意味着什么。有人可以提供==#的答案。

function! TwiddleCase(str)
  if a:str ==# toupper(a:str)
    let result = tolower(a:str)
  elseif a:str ==# tolower(a:str)
    let result = substitute(a:str,'\(\<\w\+\>\)', '\u\1', 'g')
  else
    let result = toupper(a:str)
  endif
  return result
endfunction
vnoremap ~ y:call setreg('', TwiddleCase(@"), getregtype(''))<CR>gv""Pgv

1 个答案:

答案 0 :(得分:4)

==#是“始终区分大小写”的比较运算符(普通==取决于:set ignorecase)。

有关详细信息,请参阅Vimscript cheat sheet