将文件与app或alias相关联,然后在xonsh shell中不使用前面的命令运行它。

xontrib-onepath的Python项目详细描述


当您在图形操作系统中单击某个文件或文件夹时,它们将在关联的应用程序中打开。xontrib onepath为xonsh shell带来了相同的逻辑。键入没有前面命令的文件名或路径,将执行关联的操作。这些操作是可自定义的。 在

如果你喜欢酒吧主题的想法点击⭐ 在回购和保持密切关注发布。 在

安装

xpip install -U xontrib-onepath
echo'xontrib load onepath' >> ~/.xonshrc
# Reload xonsh

示例

^{pr2}$

默认操作

如果类型化命令是注册名称(即git),并且which命令返回路径(即/usr/bin/git),则将执行该命令。 在另一种情况下,类型化路径将用于执行操作。默认操作:

PriorityTypeAction
1^{}^{}
2^{}^{}
3^{}^{}
4^{}^{}

帮助添加更多类型和最佳默认操作。欢迎公关!在

文件类型

^{tb2}$

要获取文件的MIME类型,请运行file --mime-type --brief <file>。在

行动实例

使用XONTRIB_ONEPATH_ACTIONS环境变量添加新操作。 如果需要更复杂的操作,请使用callable xonsh aliases。在

简单动作

$XONTRIB_ONEPATH_ACTIONS['.xonshrc']='vim'# vim for `.xonshrc` file$XONTRIB_ONEPATH_ACTIONS['*.log']='tail'# tail for text type *.log files$XONTRIB_ONEPATH_ACTIONS['text/plain.txt']='less'# less for plain text *.txt files $XONTRIB_ONEPATH_ACTIONS['<DIR>']='ls'# list the files in the directory$XONTRIB_ONEPATH_ACTIONS['application/zip']='als'# list files in zip file using atool

无论执行权限如何,都运行xsh

$XONTRIB_ONEPATH_ACTIONS={'*.xsh':'xonsh',**$XONTRIB_ONEPATH_ACTIONS}# Insert on topxontribloadonepathscript.xsh# the same as:  chmod +x script.xsh && ./script.xsh

使用pandas查看CSV表

importpandasaspddef_view_csv_with_pandas(args):print(pd.read_csv(args[0]))aliases['view_csv_with_pandas']=_view_csv_with_pandasdel_view_csv_with_pandas$XONTRIB_ONEPATH_ACTIONS['application/csv']='view_csv_with_pandas'

cd&ls

def_cdls(args):cd@(args[0])ifint($(ls|wc-l).strip())<100:ls--group-directories-first-a--coloraliases['cdls']=_cdlsdel_cdls$XONTRIB_ONEPATH_ACTIONS['<DIR>']='cdls'

已知问题

Linux中的NTFS:所有文件都具有执行权限

如果使用默认权限装载NTFS分区,则所有文件都将具有执行权限 并且onepath将执行它们而不是操作。正确的方法 是到change default ^{} settings。 示例:

sudo umount /d
sudo mount -o uid=1000,gid=1000,dmask=027,fmask=137 /d 
ls -la /d

链接

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

推荐PyPI第三方库


热门话题
Java类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配