diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 85df6cd..5898073 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3425,14 +3425,16 @@
     {
 	char_u *pskip = skip_option_env_lead(eap->cmd);
 
-	if (vim_strchr((char_u *)"{('[\"@&", *p) != NULL
+	if (vim_strchr((char_u *)"{('[\"@&$", *p) != NULL
 	       || ((p = to_name_const_end(pskip)) > eap->cmd && *p != NUL))
 	{
 	    int	    oplen;
 	    int	    heredoc;
 	    char_u  *swp;
 
-	    if (*eap->cmd == '&' || (eap->cmd[0] == '@'
+	    if (*eap->cmd == '&'
+		    || *eap->cmd == '$'
+		    || (eap->cmd[0] == '@'
 					&& (valid_yank_reg(eap->cmd[1], FALSE)
 						       || eap->cmd[1] == '@')))
 	    {
@@ -3443,12 +3445,14 @@
 			p += 2;
 		    p = to_name_end(p, FALSE);
 		}
+		else if (*eap->cmd == '$')
+		    p = to_name_end(eap->cmd + 1, FALSE);
 		else
 		    p = eap->cmd + 2;
 		if (ends_excmd(*skipwhite(p)))
 		{
-		    // "&option <NL>" and "@r <NL>" is the start of an
-		    // expression.
+		    // "&option <NL>", "$ENV <NL>" and "@r <NL>" are the start
+		    // of an expression.
 		    eap->cmdidx = CMD_eval;
 		    return eap->cmd;
 		}
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index ec845ea..128575b 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -553,6 +553,22 @@
   CheckDefAndScriptSuccess(lines)
 enddef
 
+def Test_environment_use_linebreak()
+  var lines =<< trim END
+      new
+      $TESTENV = 'one'
+      $TESTENV->setline(1)
+      $TESTENV = 'two'
+      $TESTENV  ->setline(2)
+      $TESTENV = 'three'
+      $TESTENV  
+          ->setline(3)
+      assert_equal(['one', 'two', 'three'], getline(1, '$'))
+      bwipe!
+  END
+  CheckDefAndScriptSuccess(lines)
+enddef
+
 def Test_skipped_expr_linebreak()
   if 0
     var x = []
diff --git a/src/version.c b/src/version.c
index c5142d2..6e7dd93 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3371,
+/**/
     3370,
 /**/
     3369,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 90e6bf2..97bd292 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -9745,9 +9745,11 @@
 	 * COMMAND after range
 	 * 'text'->func() should not be confused with 'a mark
 	 * "++nr" and "--nr" are eval commands
+	 * in "$ENV->func()" the "$" is not a range
 	 */
 	cmd = ea.cmd;
 	if (!(local_cmdmod.cmod_flags & CMOD_LEGACY)
+		&& (*cmd != '$' || starts_with_colon)
 		&& (starts_with_colon || !(*cmd == '\''
 		       || (cmd[0] == cmd[1] && (*cmd == '+' || *cmd == '-')))))
 	{
