阴暗面

a8的Python项目详细描述



a8,最讨厌的ide

(c)2011,pida作者
许可证gpl v3(http://www.gnu.org/copyleft/gpl.html)


the one true ide™,pida ide的继承者。一个超轻量级的ide,它嵌入了vim,一个终端模拟器,以及一个文件浏览器,使它们一起工作。

*[安装](安装)
*[配置]
*[键盘快捷键](键盘快捷键)
*[扩展名](扩展名)
*[常见问题](常见问题)
*[有意中断](有意中断)
*[提示ssh和技巧](ssh技巧和技巧)

![a8 screenshot](https://lh4.googleusercontent.com/-PtipCpFvTcc/TvpPhtdtTeI/AAAAAAAADI0/tUVBvU3uLAA/s0-d/a8.png)

----

## Installation ##

⠠⠊⠝⠎⠞⠁⠇⠇⠁⠞⠊⠕⠝

```
$ pip install a8
```
Remember the system dependencies:
```
# apt get install vim gtk python-gtk2 python vte python dbus
```
(非Debian发行版,请给我加一行。)

----


不是这样,因为我从来没有计划过用一种以上的方式来使用它。


作为键值的映射:
```
foo1:blah
foo2:
foo3:blah
```

如果存在默认值(或未设置其他值):
```
终端:
"彩色前景":未设置,
"彩色背景":未设置,
"退格绑定":未设置,
"光标闪烁模式":未设置,
"光标形状":未设置,
"字体":未设置,
"允许加粗":未设置,
"可听见的铃声":未设置,
"模拟":未设置,
"指针自动隐藏":未设置,
"按键盘滚动":未设置,
"按输出滚动":未设置,
"滚动行":1000,
"可见铃声":未设置,
"单词字符":"-a-za-z0-9,./?%&μ;
````

35 35 35 35 35 35 35 35 35 \35 35 35 35 \35 35 35 35 \35 \\
会话类型:'none';不记得会话(会话的别名:false")
会话类型:'local'将会话存储在./.a8中,只要abominade运行
会话类型:'user'默认值,将会话存储在~/.a8
````
键盘快捷键##

内部A8动作
2。自定义shell命令通过创建文件来定义键盘快捷键:

` ~/.a8/shortcuts.yaml`

>此文件应包含以下格式的键和值:

`<;action>;<;shortcut>;`

`key:<;shortcut>;`

`[cmd:<;命令>;]`

`[cwd:<;工作目录>;]`

`[env:<;environment>;]`



,其中action是定义要执行的操作的字符串,快捷键是一个快捷字符串。







>可用操作是(默认情况下):

*`shell(<;alt>;t)`
*`FOCUCUCUCUCUVIM(<;alt>;e)`
>

<
<

<
*`FOCUCUCUCUCUU终端(<;alt>;r)`
*`FOCUCUCUU缓冲区(<;alt>;b)``
>*`FOCUCUCUCUCUCUCUU缓冲区(<;FOCUCUCUCUCUU缓冲区(<;FOCUCUCUCUb r/>*`焦点文件(<;alt>;m)`
*`FOCU终端(<;alt>;gt;i)`
*`FOCU书签(<;alt>;k)`
*`PREV缓冲区(<;alt>;向上)`
*`下一个缓冲区(<;alt>;向下)`
*`PREV缓冲区(<;alt>;向上)`
*`FOCU终端(<;alt>;向左)`
*`FOCU终端(<;alt>;lt;gt;lt;lt;lt;lt;lt;lt;lt;gt;gt;gt;i)``
=>>*`PREV缓冲区(<;lt;lt;alt是的g)`
*`切换展开的文件(<;alt>;x)`(0.11及更高版本)
*`关闭所有的缓冲区(alt>;lt;alt>;c)`
*`浏览首页(alt>;lt;alt>;h)`


35 35 35 35 35<

*按`<;shift>;向上键和`<;shift>;向下键的其他热键



/><
/>*在终端中,上br/>快捷方式格式35;

格式类似于`<;control>;a`或`<;shift>;<;alt>;f1`或`<;release>;z`(最后一个
用于释放键)。解析器相当自由,允许小写或大写,还允许使用缩写,如`<;ctl>;`和`<;ctrl>;`。可以使用"向上"、"向下"、"向左"、"向右"等键,但请注意,按键不会传递到底层应用程序、终端或vim。


它们的格式不同于内部A8快捷方式。它们应该是"custom"键值列表的一部分。列表中的每个项至少应将键"key"定义为上述格式的快捷字符串。此外,它们还可以定义"cmd"、"cwd"和"env"键。这些命令用于使用命令执行新终端。


j
cmd:ifconfig
```
----

这是通过以下概念实现的:

1。延伸
2.signals

因为我们只是使用python,所以所有a8 api对同一进程中的任何python代码都是公共的,这是有意的。如果你想通过滥用这个来破坏它,那么就去破坏它吧。


扩展是任何具有可调用"setup"属性的python模块或实例。"setup"的签名应该是:

```
def setup(app):
"My setup function"。
````

当然,这可以是在一个对象中,签名应该是:

`````
class myextension(object):

def setup(self,app):
"My setup function.""
``


扩展名列在配置文件的"extensions"键下,应该是可导入的名称,例如"a8.a8-example-ext",这是一个让您开始使用的示例。如果从模块导入属性,则可以使用":"符号,例如"path.mymodule:myattr",该符号适用于实例作为扩展。

它能接触到一切。很糟糕,但这是有意的。

任何事情都可以用这个来实现。

它们不在内部使用,因此主要表现为禁止操作。它们使用"app.connect"连接,可以使用"app.emit"发出。

`app.connect`接受一个信号名和一个要调用的回调。回调只传递关键字参数,因此更正参数的名称很重要。下面是一个连接到插件中"文件已保存"信号的示例。下面列出了所有可用的信号和参数。

```
*|*description*
------------------------
`添加的文件项` `文件名`文件项显示在文件管理器中在编辑器中打开的文件|
因为它们不在内部使用,所以基本上没有成本。

----


###

abominade不希望取代[http://pida.co.uk pida],怎么可能呢?因此,如果您需要一些特殊的PIDA功能,请继续使用PIDA。
[有意中断](有意中断)

在Mac上是否有效?###

可能有困难。您将需要x、gtk、dbus,所有这些都支持python。(以及可能的精神帮助)






《故意破坏故意故意留下来的特征有意留下来的特征。这是一个非常简单的工具,但本质上是为我编写的。如果您想要一个真正的应用程序,请尝试
[https://bitbucket.org/aafshar/pida-main/wiki/home pida]。abominade的动机是制作一个为我量身定做的ide。

*国际化(我只使用英语)
*非vim编辑器(我只使用vim)
*语言支持(我不觉得那些大纲视图有用)
*版本控制支持(命令行是够了)
*项目支持(替换为书签)
*图形用户界面配置(纯文本就足够了)
*图形用户界面快捷方式配置(作为图形用户界面配置)
*窗口管理(分离、移动、悬停、浮动)
*保存布局
*文档(好的,所以pida也没有任何文档!)
*很多选项(不需要让我使用的东西成为可选的。)
*gtk的操作是一种痛苦
*glade/gtkbuilder是一种痛苦
*gtk的股票图标完全无用
*statusbar/toolbar/menubar

----

ssh提示和技巧##
如果在远程主机上编辑大量代码,您可以通过sshfs在本地挂载项目目录


如果您在ssh会话中cd,使相对路径
不再与本地当前目录匹配,但如果您配置ssh的
,则此操作将中断!escapechar设置,您可以在本地挂起ssh、cd并恢复ssh。

###screen/tmux

对于abominade的
终端窗格中的一些终端,最好使用gnu screen或tmux,因为很容易意外关闭abominade并丢失您的终端历史。


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

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm