There appears to be many alternative Emacs auto completion mechanisms. Without an exhaustive search, the following come to mind: ido, auto-complete, icicles, in buffer completion, minibuffer completion and standard out of the box completion. And then there is code completion. Lots of it. And much of it language dependent. It would be very useful to have an Emacs guru, or three, summarize the benefits of the major players in both code and non-code auto-completion. And this being Stack Overflow, it …
背景:在过去五年左右的时间里,我使用Mac硬件(大部分是高端MacBook Pro笔记本电脑)和软件,经过多年在典型的PC硬件上使用Gnu/Linux和符合人体工程学的键盘.更重要的是,作为一个沉重的Emacs用户,切换到Mac是痛苦的,Apple标准的短键盘既令人抓狂又不可避免.我通过使用Karabiner工具进行两个小的但非常重要的改变来阻止RSI发作:1)当单独按下时改变大写锁定键以产生菜单(f13)键,当用另一个键按下时改变控制键修改键码; 2)以类似的方式改变返回键,单独按下时返回,当用另一个键按下时,控制键修改键码.对Apple最近对硬件和软件的决定感到失望,我现在回到Gnu/Linux(如果重要的是Ubuntu),但坚持使用Mac笔记本电脑.
问题:由于Karabiner是一个仅支持OS X的工具,没有现成的Gnu/Linux版本,因此看起来我必须编写和/或修改一些代码以实现大写和Karabiner启用的返回键双重功能行为.Karabiner的作者写道,xbindkeys和rbindkeys进行密钥重映射,但乍一看它们似乎没有处理双重功能行为.现在我正在努力移植Karabiner或完全创建一个新工具.毫无疑问,也可能有其他方法.所以我的问题是:你会建议解决这个问题的编程建议是什么?特别是可以在数小时,数天或数周而不是数月内开发的产品.
备注:
1)有不同的方法涉及行为的改变,例如交换控制和命令键.许多人都受到了不同程度的满足.Karabiner的双重功能方法是,恕我直言,其中最有效的是它在键盘主页上提供控制键对称,并适用于所有应用!
2)也可能建议使用不同的硬件.我已经尝试过戴尔,惠普,联想,宏碁等系统并且看了很多.没有一款可与苹果顶级产品的功率,尺寸,手感和风格相媲美,尽管价格优惠.例如,Dell Precision 7510体积庞大,并且有一个感觉像砂纸的触控板; 联想X1(一个非常好的系统)缺少一个Thunderbolt端口; 等等
3)由于笔记本电脑的要求,外接键盘也是不起作用的; 飞机或火车上的外部键盘没有发生.
对于阅读编程(和其他)文档,Emacs INFO模式非常出色.所以,优秀的,我希望能够读取说法,的Emacs Lisp信息文件和组织模式的信息同步文件,无需穿越回升到信息树的开始.要么我错过了一些明显的东西,要么我需要破解一些Emacs Lisp来实现目标.再一次,有人可能已经破解了这个坚果.所以我想我的问题是:同时在Emacs中读取多个INFO文件的做法是什么?
我想访问(克隆/推/拉)私有(通过ssh)git存储库,而后面只允许http代理访问的企业防火墙.我编写了一个强大的Java(守护程序)程序(基于JSCh类库),这将允许我利用本地和远程端口转发,我希望利用这一点,但当我试图设想如何设置时,我的大脑会受伤.
git repo depot(硬币短语)位于foo.server.com/var/git,因此设置克隆的自然倾向,忽略了fireall,将是:
$ git clone ssh://foo.server.com/var/git/myrepo.git
Run Code Online (Sandbox Code Playgroud)
但防火墙会阻止此命令.我倾向于尝试类似的东西
$ git clone ssh://localhost:8022/var/git/myrepo.git
Run Code Online (Sandbox Code Playgroud)
localhost:8022转发到foo.server.com:22
这条道路值得追求吗?有没有更安全的解决方案?我应该注意哪些陷阱或陷阱?
我想在组织模式表中有一个列,它是一个简单的单调递增值,即行号,以便我插入并删除随机行,索引值自动调整.我怀疑这应该很简单,但看起来我太难了.请注意,我是使用Emacs和组织模式构建电子表格的新手.因此,一个简单的示例电子表格,其中有两列,一个是行索引值,另一个是固定值,这将是一个完美的答案.
作为最近转换为git和长期的Emacs黑客,我想知道其他严重的Emacs/Git黑客在Emacs23中为git支持推荐了什么.我已经开始使用VC git后端,并发现它有点像git功能的抽象层.所以我倾向于尝试另一种.除了标准的Emacs VC支持外,谷歌搜索还有大约六种选择.
如果你喜欢magit或egg,为什么?如果你的推荐有平台依赖性,那怎么回事?
The spec for KClass.simpleName on Kotlin 1.3.41 for Common, JS, JVM and Native is:
The simple name of the class as it was declared in the source code, or null if the class has no name (if, for example, it is an anonymous object literal).
To generate a null seems straightforward: get the simpleName of the KClass generated from an anonymous object literal. The following code is a failed attempt to do just that:
interface Human { fun think(): String …Run Code Online (Sandbox Code Playgroud) 给定以下 XML:
<stuff>
<item id="1"><![CDATA[first stuff...]]></item>
<item id="2"><![CDATA[more stuff...]]></item>
</stuff>
Run Code Online (Sandbox Code Playgroud)
我正在努力弄清楚如何使用简单框架反序列化它。我从以下 Java 类开始:
import java.util.ArrayList;
import java.util.List;
import org.simpleframework.xml.Root;
import org.simpleframework.xml.ElementList;
@Root(name="stuff")
public class Stuff {
@ElementList(inline=true)
public List<Item> itemList = new ArrayList<Item>();
}
Run Code Online (Sandbox Code Playgroud)
和
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
@Element(name="item", data=true)
public class Item {
@Attribute
public String id;
}
Run Code Online (Sandbox Code Playgroud)
因此,我缺少的部分是如何访问每个项目元素的 CDATA 内容?
我最近才意识到Emacs的eshell工具.它看起来非常强大,因为它完全用Emacs Lisp编写,不需要本机子shell支持.Emacs信息文档有点稀疏,但EmacsWiki有相当不错的信息,至少乍一看.
考虑到eshell作为脚本工具/程序员的帮助在多个平台上同样有效的潜在价值,我想知道eshell与普通(bash)shell的使用在软件开发人员中是多么普遍.那些花时间学习它的人会推荐它,还是那些没有真正成功的有趣想法之一?
GWT开发人员模式嵌入式http服务器对我来说对我来说很有意义,但我承认我不明白"代码服务器"是什么.令我感到震惊的是,一个html文件包含了浏览器在开发过程中使用嵌入式Jetty服务器处理AJAX的GWT应用程序所需的所有javascript代码.所以我正在寻找一个包含GWT开发人员模式代码服务器的解释.也许解释它正在做什么就足够了.
我正在尝试编写一些将图像集中在面板网格中的JSF代码.简单的方法似乎是:
<h:panelGrid columns="1" style="text-align:center">
<h:graphicImage value="/path/to/image.png" />
</h:panelGrid>
Run Code Online (Sandbox Code Playgroud)
但这种方法似乎不起作用.