Well, over-pursuing similarity of Mathematica code and traditional math notation does more harm than good, still, it's possible to create a nabla operator in Mathematica, here's my approach:
(*$PrePrint=.*)
$PrePrint = # /.
Derivative[id__][f_][args__] :>
TraditionalForm[
HoldForm@D[f[args], ##] &[
Sequence @@ (DeleteCases[Transpose[{{args}, {id}}], {_, 0}] /. {x_, 1} :> x)]] &;
Clear[$independentVariable, ▽, Δ]
$independentVariable = {x, y, z};
▽ /: ▽ f_ := Grad[f, $independentVariable]
▽·f_ := Div[f, $independentVariable]
▽ /: ▽\[Cross]f_ := Curl[f, $independentVariable]
▽·▽ := Δ
▽ /: ▽^2 := Δ
Δ /: Δ f_ := Laplacian[f, $independentVariable]
CenterDot /: (v_·▽) f_ := Grad[f, $independentVariable].v
CenterDot /: (m_?MatrixQ·▽)\[Cross]f_ :=
TensorContract[LeviCivitaTensor[3].D[f, {$independentVariable}].m\[Transpose], {2, 3}]
Usage:
▽ f[x, y, z]

▽·{f[x, y, z], g[x, y, z], h[x, y, z]}

▽\[Cross]{f[x, y, z], g[x, y, z], h[x, y, z]}

▽·▽ f[x, y, z]
▽^2 f[x, y, z]
Δ f[x, y, z]

({Subscript[v, x], Subscript[v, y], Subscript[v, z]}·▽) f[x, y, z]

({Subscript[v, x], Subscript[v, y], Subscript[v, z]}·▽){f[x, y, z], g[x, y, z],h[x, y, z]}

Alst = Array[Subscript[A, ##] &, {3, 3}];
vector = #[x, y, z] & /@ {u, v, w};
test1 = (Alst·▽)\[Cross]vector

Notice the ·
is \[CenterDot]
, and ▽
is \[EmptyDownTriangle]
rather than \[Del]
.
To type ▽
easier, try the technique in this and this post.
Not sure if the solution will fail in more complicated cases.
BTW the $PrePrint
function is modified from the code here.
Times
andPower
with these interpretations. Better use clearly distinct notation to make code easier to understand. $\endgroup$Grad
andLaplacian
, and relatedDiv
andCurl
. These symbols have new input forms quite close to what you're asking for. $\endgroup$HoldForm[Curl[v, {x, y, z}]]
and see how it formats. This is different from interpreting that form when you enter it. Traditional notation is ambiguous. When you are talking to a computer you want to be clear and unambiguous. $\endgroup$