Esta é provavelmente uma pergunta incrivelmente simples, mas não encontrei nenhuma resposta até agora (não tenho as fontes corretas e não sei onde procurar na ajuda do vim).
Eu tenho uma condição e gostaria que incluísse 'AND', como
if (condition1 .AND. condition2)
"do what I want you to do
endif
mas não consegui encontrar a sintaxe. A mesma coisa para 'OR'.
.AND.
e.OR.
é a sintaxe do Fortran, não vejo isso usado fora do código do Fortran há muito, muito tempo. :) Em vez disso, o Vim usa sintaxe do tipo C,&&
para AND e||
OR. Veja:h expression-syntax
para mais.Respostas:
Como @ lcd047 disse em seu comentário, o vimscript usa operadores do tipo C
&&
e||
.Você pode encontrar uma descrição de seu uso em
:h expr2
. Alguns pontos importantes mencionados pelo documento são os seguintesVocê verá que os operadores podem ser concatenados e
&&
têm precedência||
, portanto,É equivalente a
Também quando o resultado é conhecido, a expressão "curto-circuito", ou seja, argumentos adicionais não são avaliados. É assim que acontece em C.
Se você usar:
A expressão será válida mesmo que
b
não esteja definida.fonte