例如我想回应:
"let vim know the last edit position
au BufReadPost * if line("'\"") > 0|if line("'\"")
\ <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
我尝试过但失败了:
echo '
"let vim know the last edit position
au BufReadPost * if line("\'\"") > 0|if line("\'\"")
\ <= line("$")|exe("norm \'\"")|else|exe "norm $"|endif|endif
'
如何显示正确的格式?
谢谢〜
答案1
您可以使用这里的文件:
cat <<-EOF
au BufReadPost * if line("'\"") > 0|if line("'\"")
\ <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
EOF
答案2
如果你想使用echo
,你需要做的就是使用单引号
'string containing many strange characters $ " \ and so'
唯一的问题是由字符串中包含的文字单引号引起的。
在这种情况下:
- 在文字之前关闭字符串
'
- 写并转义单引号
\'
- 重新打开字符串以继续以下字符
例如:
aaa'bbb ==> 'aaa' + \' + 'bbb' ==> 'aaa'\''bbb'
显然,如果文字单引号位于字符串的开头或结尾,则不应使用结束引号或开头引号之一:
'aaa'bbb ==> \' + 'aaa' + \' + 'bbb' ==> \''aaa'\''bbb'
您可以使用命令输出特定的字符串
echo '"let vim know the last edit position
au BufReadPost * if line("'\''\"") > 0|if line("'\''\"")
\ <= line("$")|exe("norm '\''\"")|else|exe "norm $"|endif|endif'