iterm2单击处理程序

iterm2-dwim的Python项目详细描述


iterm2-dwim是iterm2的单击处理程序。目标是你 命令单击任何文件路径(相对或绝对),它将打开 文件在编辑器中。如果有行号,您的编辑器将转到 那条线。因此,编译器/linter输出、回溯等。

目前支持emacs、pycharm和sublime。选择 要使用的编辑器,请参见settings.py

支持以下类似路径的模式。对于那些排队的 数字,文件将在该行打开。

PatternTypeStatus
^{tt3}$Absolute path
^{tt4}$Relative path
^{tt5}$Compiler / Linter etc output
^{tt6}$In git diff output
^{tt7}$Python stack traces
^{tt8}$Python ipdb output

安装

  1. 克隆此repo并运行python setup.py develop

  2. settings.py中,设置命令行实用程序的绝对路径 在文本编辑器/IDE中打开文件。对Pycharm来说这是 称为charm,对于sublime,称为subl,对于emacs 这叫做emacsclient

  3. 通过运行 命令which iterm2-dwim。例如,在我的系统上,这是 /usr/local/bin/iterm2-dwim

  4. 打开iterm2设置,单击“配置文件”,选择您的配置文件,单击 在该配置文件的“高级”选项卡上,执行两项操作(请参见 屏幕截图如下:

  5. 在“智能选择”部分,单击“编辑”,选择“路径” 规则,单击“编辑操作”,单击“+”添加操作,选择“运行” 命令“并输入/absolute/path/to/iterm2-dwim \0作为 “参数”。

  6. 在“语义历史”部分,选择“运行命令”并输入 /absolute/path/to/iterm2-dwim \1 \4

  7. 确保您没有按字面意思输入/absolute/path/to/–the 路径应该是步骤(5)中的路径,由 which iterm2-dwim

  8. (可选,但没有它将无法解析相对路径): 配置shell提示符,以便写入当前目录 每次显示提示时指向名为/tmp/cwd的文件。为了 例如,将这一行放入~/.bashrc

    exportPROMPT_COMMAND='echo $PWD > /tmp/cwd'
  9. -点击物品!

您的iterm2设置应该如下所示:

可选配置

  1. 要获取错误消息警报,请运行brew install terminal-notifier 并检查它是否与terminal-notifier-message hello一起工作。

对于emacs用户:1。确保您正在启动emacs服务器 在emacs配置文件中: elisp     (require 'server)     (unless (server-running-p)(server-start))

调试

这是在发展中,你会遇到问题最初。 可能,你会命令点击某个东西,什么都不会发生。

不能使用ipdb调试它:python进程由 iterm2并没有连接到终端的标准输入/输出。 类似地,注意python进程从 iterm2进程,因此无法访问环境 在shell配置文件中所做的修改。

它写一个日志:runtail -f/tmp/iterm2-dwim.log

如果什么都没有发生,也没有写入日志,另一个技巧是 只需从命令行运行它并查看回溯:

$ iterm2-dwim /some/file.py 'any text can go here'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在href中将struts2文本字段的值作为参数传递?   java检查对象属性是否为空的最佳方法是什么?   java通过Maven使用Junit类别运行Cucumber测试   java如何在selenium Webdriver(Mac)中使用Robot类上传多个文件?   如何用python绘制图形或将python转换为java和Matlab?   java Osgi捆绑包更新和ResourceBundle   java使用流api将流<@Nullable T>转换为流<@NonNull T>   java中EXCEL的平台无关连接字符串   JavaFX中的java表   java Jetty线程池和sun。HttpServer会话   JPA存储库bean的java Spring注入无法工作NullPointerException   java从另一个Kubernetes作业触发Kubernetes   我的java netbeans抽奖计划需要帮助吗   泛型中的java有界类型无法扩展另一个有界类型   如果混合使用全局构建和概要文件构建,java cxfcodegenplugin会生成错误代码   封装SQL平台之间差异的java策略?