当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 【分享】使用键盘快捷键在当前路径打开终端
帖子发表于 : 2016-03-07 14:12 

注册: 2013-04-27 19:26
帖子: 295
系统: ubuntu+win7
送出感谢: 21
接收感谢: 9
很久以前,我发过一篇帖子,里面提到了我用一种奇葩的方式实现了这个功能 viewtopic.php?f=180&t=463347 ,但是,有很多限制,比如,当鼠标指针落在当前文件夹中的文件上的时候,就不能够起作用了,因为右键菜单中不存在E对应的选项了。
今天突发奇想,使用另一种方式制作了一个脚本,使用于任何聚焦的nautilus窗口,依然使用xdotools,还需要xclip。
脚本代码如下:

代码:
#!/bin/bash

xclip_tmp=$(xclip -o)
xdotool key Ctrl+l
currnet_dir_path=$(xclip -o)
xdotool key Escape
gnome-terminal --working-directory=$currnet_dir_path
echo $xclip_tmp | xclip -i


这个脚本工作的逻辑是这样的,先把xclip中的缓存保存下来,然后模拟按下键盘上的快捷键ctrl+l,此时,nautilus会显示当前目录的完整路径,并且被全选中,因此这个路径就会在xclip的缓存中,之后按下escape键,这样关闭nautilus显示的路径条。然后打开gnome-terminal 工作路径设为从xclip中读出的路径,最后把之前xclip的缓存再写回去。

将这个脚本保存,添加可执行文件后,在系统的设置->键盘->快捷键->自定义快捷键中添加绑定按键即可,我绑定的是F4。
嘿嘿~

需要注意的是,该脚本似乎不能按照如下的方式书写:
代码:
#!/bin/bash

xclip_tmp=$(xclip -o)
xdotool key Ctrl+l
xdotool key Escape
gnome-terminal --working-directory=$(xclip -o)
echo $xclip_tmp | xclip -i

我分析主要原因是xclip读取字符串需要时间,而在xdotool key Ctrl+l 与 xdotool key Escape这两步连续执行的时间间隔不够xclip读取整个路径(事实上,经过实验,只读取了路径的第一个字符‘/’)。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 【分享】使用键盘快捷键在当前路径打开终端
帖子发表于 : 2016-03-18 23:04 
头像

注册: 2007-03-15 16:58
帖子: 2802
地址: 湖北武汉
送出感谢: 2
接收感谢: 4
这个还不错。


_________________
引用:


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译