在sublime2中打开终端输出

在sublime2中打开终端输出

我想在sublime2中打开终端命令的输出。

例如,当我执行 时$ list,它会在终端中列出所有文件/文件夹。我希望在运行此命令时创建一个临时文本文件并在 sublime2 编辑器中打开输出。我无意保存它。我只想在 sublime2 中打开输出。

我已经看到您可以通过管道输出textmate来打开。Mac

$ls | mate(我不确定语法)

答案1

您可以使用一个非常简单的脚本来执行此操作。

脚本如下:

#! /bin/bash

"$@" > $$.txt
sublime-text $$.txt
rm $$.txt

将其另存为sublime.sh(您可以使用任何其他名称)并通过运行使其可执行:

chmod +x sublime.sh

使用方法:

./sublime.sh <command>

例子:

./sublime.sh ls -l

解释:

  • 第 1 行是舍邦,它仅指定解释器。
  • 第 3 行运行您传递的命令并将其保存在名为的文件中$$.txt$$返回您正在使用的终端的 PID(可以随意使用任何其他文件名)。
  • 第 4 行打开文件sublime-text
  • 第 5 行删除该文件,因为您不想永久保存该文件。

更新:您还可以将其放入您的~/.bashrc文件中以便轻松访问。

  • 打开一个终端。
  • 转到主文件夹。
光盘
  • 打开.bashrc文件。
编辑 .bashrc
  • 将以下内容复制到文件末尾。
函数 sublime()
{
    “$@” > ~/$$.txt
    sublime-text ~/$$.txt
    rm ~/$$.txt
}
  • 运行以下命令进行刷新:
..bashrc
  • 完成!现在使用它:
sublime ls -l

答案2

我过去曾使用过这种方法来实现你想要的(我认为)

ls -lrt > tmp.txt && gedit tmp.txt

显然,您需要更改对 gedit 的引用,以便它使用您喜欢的编辑器,在本例中为 sublime。

我的问题是,你想用这个实现什么?听起来你正在尝试记录终端会话的输出。如果是这种情况,您可以使用“script”命令

user@machine $ script ~/temp/terminal.txt

只需输入 exit 即可退出录音

user@machine ~/temp $ exit
exit
Script done, file is /home/user/temp/terminal.txt

这现在意味着terminal.txt包含该会话的完整日志希望这会有所帮助

相关内容