如何在保存某种类型的文件时让Gedit运行自定义命令?

时间:2011-08-10 10:11:42

标签: gedit

例如,对于源代码文件,我希望gedit在保存时将其丢弃。

“运行lint”部分通过External Tools插件完成。现在我可以在每次保存源代码文件时自动运行吗?

2 个答案:

答案 0 :(得分:3)

您可以通过运行lint的外部工具保存文件。有一个字段保存,其中包含以下选项: Nothing 当前文档所有文档。在工具运行之前完成保存。

以下是截图:

External Tools Manager (gedit)

答案 1 :(得分:1)

我一直在玩a variation on this - 我想要一个键盘快捷键来运行一个可以整理Python,CSS或HTML的工具,具体取决于文件类型。但是如果你将 ctrl s 映射到运行lint的外部工具(如果文件类型匹配),如果不匹配则不会,并且无论什么都保存在最后。像这样:

if [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/x-python" ]; then
    # Run lint
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/html" ]; then  
    # Run tidy
elif [ $GEDIT_CURRENT_DOCUMENT_TYPE = "text/css" ]; then
    # run csstidy
else 
    cat -
    echo "Type is:" $GEDIT_CURRENT_DOCUMENT_TYPE > /dev/stderr
    echo "so I'm not doing a thing." > /dev/stderr
fi

NB。如果您的外部工具设置为在运行时替换文档,则需要添加cat -以将原始文档读回到gedit中,这样您就不会破坏它。如果输出全部转到“Shell输出”窗格,则不需要。