使用 PHPStorm、vscode 匹配 shell 脚本中的开始和结束 if 语句 (if.​​..fi)

使用 PHPStorm、vscode 匹配 shell 脚本中的开始和结束 if 语句 (if.​​..fi)

我有一堆嵌套的 if..then...fi 的

if [ "${var}" = "NA" ]  
then  
    if [ "$var" != "SAM" -a "$fileFormat" != "XED" -a "$Format" != "TED" -a "$Format" != "ESTA" ]  
      then  
      echo "ERROR: Input file format not recognised"  
      echo "use --help for more information"  
      exit 1  
    fi  
    #convert esta to ted  -  start  
    if [ $fileFormat = "ESTA" ]  
    then  
        if [ $ENO != "NA" ]  
        then  
        ENO=$(greadlink -e ${ENO} )  
        fi  
        if [ -z "$output" ]  
        then  
        echo "WARNING"  
        echo "No output directory specified. Using current working directory, " $(pwd)/OUTPUT  
        output=$(pwd)/OUTPUT  
        fi  
    InputTed=$(greadlink -e ${Inputted}) #greadlink - to canonicanize/normalize to standard format  
    mkdir -p ${output}  
    cd ${output}  
    output=$(greadlink -e $(pwd) )  
    DIRECTORY=$(pwd)  

在一个2000多行的shell脚本中。我想单击开头的 if,并突出显示结尾的 fi,以便轻松导航代码,就像使用大括号一样。我正在使用 PHPStorm、vscode,但很高兴尝试任何可以开箱即用的免费文本编辑器或这些工具的任何插件。

答案1

Emacs

使用平衡括号的命令还了解某些语言中的平衡关键字,包括 sh。当光标位于 上时if,按Ctrl+ Alt+F转到匹配的位置fi。从 开始fi,按++Ctrl转至匹配。 (助记符:AltBif笨拙/F向前;Ctrl用于简单的事物:字符;Alt用于中等复杂的事物:单词;Ctrl+Alt用于复杂的事物:表达式。)

要突出显示与光标所在位置匹配的括号或关键字,请打开显示Paren模式。在菜单中:“选项”→“突出显示匹配的括号”。要使其永久化:“选项”→“自定义”→“特定选项...”并输入show-paren-mode,将其打开并使用“状态”按钮使其永久化。

相关内容