小编Ada*_*umb的帖子

Vim/Emacs在GUI文本编辑器上提供了哪些具体的生产力提升?

这并不意味着巨魔或烈焰或类似的东西.几个月以来我一直在使用Vim作为我的控制台编辑器(在我的终端中编辑配置文件),但我认为我不能忍受我的正常,每天编写Web应用程序的工作我使用GUI文本编辑器(哪一个不重要).

我觉得我的GUI文本编辑器可以完成我工作所需的一切.它有一个像样的搜索/替换与两者的自动完成历史.它具有语法高亮,行编号,选项卡式界面,易于复制和粘贴等.我当前编辑器唯一缺少的是正则表达式匹配,但是有很多GUI文本编辑器可以进行正则表达式搜索/替换.

鉴于我刚才所说的,除了安装在每台计算机上的事实之外,Vim(甚至Emacs)对GUI文本编辑器的生产力优势.我希望在Vim/Emacs上更好/更快的特定任务,或者现有GUI文本编辑器无法实现的特定任务.

vim emacs text-editor

100
推荐指数
11
解决办法
2万
查看次数

如何在python中处理损坏的管道(SIGPIPE)?

我在python中编写了一个简单的多线程游戏服务器,为每个客户端连接创建一个新线程.我发现时不时,服务器会因为管道损坏/ SIGPIPE错误而崩溃.当程序试图将响应发送回不再存在的客户端时,我非常确定它正在发生.

处理这个问题的好方法是什么?我的首选解决方案只是关闭与客户端的服务器端连接并继续,而不是退出整个程序.

PS:这个问题/答案以一般方式处理问题; 具体应该如何解决?

python broken-pipe

47
推荐指数
2
解决办法
8万
查看次数

为什么vi在Ubuntu中的行为与在CentOS中不同?

我每天都越来越习惯使用vi,但有一件困扰我的事情是,当我在Ubuntu上使用它时,它的行为与我在CentOS(以及其他地方)上使用时的行为不同.我实际上更喜欢它在CentOS中的工作方式.

以下是在Ubuntu上困扰我的三件事:

  1. 在CentOS插入模式下,底部有一个大胆的通知,我处于INSERT模式,但在Ubuntu中没有通知,所以我永远不知道我在哪个模式.

  2. 在CentOS插入模式下,我可以按向上/向下键,光标将上下移动.但是当我在Ubuntu上下按下时,分别在新行上插入字母A和B.

  3. 在CentOS插入模式中,我可以使用退格键,它将删除光标前的字符,但在Ubuntu中,我只听到一声哔声,没有任何反应.我可以在命令模式下按删除键,但我宁愿能按退格键.

这些差异是我必须要忍受的还是一个简单的解决方案?

vim ubuntu centos

32
推荐指数
3
解决办法
2万
查看次数

如何在vim中添加非鼠标可选的行号?

所以我已经想出如何为vim添加行号(:set no或:set number)但是我怎么能这样做呢,当我在终端模拟器中使用我的鼠标来选择一个行块时,它也不会选择号码?

例如,假设我有三行在vim中看起来像这样:

1    First line
2    Second
3    Third
Run Code Online (Sandbox Code Playgroud)

如果我想用鼠标选择三行我想要的只是选择实际文本.但最终发生的是它选择行号以及行号左侧和右侧的所有空格.

有没有办法改变这种行为?顺便说一句,我在gnome中使用gnome终端编辑器,如果这有所不同.

vim

27
推荐指数
5
解决办法
8114
查看次数

在java中,如何根据url创建HttpsURLConnection或HttpURLConnection?

我正在开发一个项目,我正在创建一个类来运行http客户端请求(我的类充当客户端).它接受一个url和一个请求方法(GET,POST,PUT等),我希望能够解析URL并根据它是https还是http打开一个HttpsURLConnection或HttpURLConnection(假设给定的URL始终是正确).

如果我执行以下操作:

URLConnection conn = url.openConnection();
Run Code Online (Sandbox Code Playgroud)

然后,这将自动创建一个可以接受http和https的URLConnection,但如果我这样做,那么我找不到任何方法来设置请求方法(GET,POST等),因为只有HttpsURLConnection或HttpURLConnection类才有setRequestMethod方法.

如果我执行以下操作:

if(is_https)
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
else
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)

然后创建连接,但我无法在if块之外访问它们.

是否可以这样做,或者我应该放弃并使用apache httpclient类?

java urlconnection

13
推荐指数
2
解决办法
4万
查看次数

XML Schema:为complexType设置默认值?

假设我想设置一个通用的complexType,如下所示:

<xs:complexType name="button">
    <xs:sequence>
        <xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="href" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

我想在我的模式文件中的各个地方引用complexType,如下所示:

<xs:element name="someButton" type="button" />
Run Code Online (Sandbox Code Playgroud)

我可以通过someButton元素为按钮子元素设置默认值吗?(即如果我想someButton的默认标签为"Go"或默认的href为"index.html")

基本上......现在我有类似的东西

<Field Name="State" DataSourceField="State" />
Run Code Online (Sandbox Code Playgroud)

我试图以尽可能简单的方式删除冗余.

xml schema xsd

9
推荐指数
1
解决办法
3万
查看次数

如何处理具有许多窗口的林间空地项目

我的工作,目前有16个窗口/对话框,并即将130KB一个的PyGTK /空地应用,最终将有大约25窗口/对话框和大约200KB.目前,我将所有窗口存储在一个整体的glade文件中.当我运行一个窗口时,我称之为......

self.wTree = gtk.glade.XML("interface.glade", "WindowXYZ")
Run Code Online (Sandbox Code Playgroud)

我想知道将每个窗口分成它自己的glade文件是否更好.而不是一个带有25个窗口/对话框的glade文件,我有25个glade文件,每个文件有一个窗口/对话框,并调用它如下:

self.wTree = gtk.glade.XML("windowxyz.glade")
Run Code Online (Sandbox Code Playgroud)

你们认为最好的方法是什么?一种方法比另一种方法更耗费资源吗?关于单个glade文件的一件好事是命名小部件会更容易.例如,我将所有OK按钮命名为"windowxyz_ok",但我可以将其更改为"ok".使事情变得更简单.缺点是对不同的窗口进行更改可能不太方便.

我对所有论点持开放态度.谢谢!

python gtk pygtk glade

7
推荐指数
1
解决办法
3198
查看次数

如何让jquery以完全并行的方式执行动画?

我正在尝试在jquery中创建一个类似于jquery的accordion插件的手风琴小部件,不同之处在于我希望句柄显示在各自的内容下面而不是上面.我的手风琴的工作原理是降低打开内容部分的高度,同时增加点击内容部分的高度.我在这里发布了一个例子.我的问题是动画不是在完全相同的时间开始,并且由于在第二个动画开始之前的轻微延迟而存在明显的"跳跃".

Scriptaculous有一个名为Effect.Parallel的函数,它允许您创建一个动画效果数组并并行执行它们.不幸的是,我似乎找不到与jquery类似的东西.

有没有办法可以在jquery中的不同div上运行精确的并行动画?

编辑:我对编写这个手风琴小部件的替代方法很感兴趣.因此,如果人们认为有任何其他方法可行,我会对此持开放态度.

javascript jquery jquery-ui

7
推荐指数
1
解决办法
1万
查看次数

在python中存储和使用大型文本文件的最佳方法

我正在为我在python中编写的boggle-clone创建一个联网服务器,它接受用户,解决板,并对玩家输入进行评分.我正在使用的字典文件是1.8MB(ENABLE2K字典),我需要它可以用于几个游戏求解器类.现在,我有它,以便每个类逐行遍历文件并生成一个哈希表(关联数组),但我实例化的解算器类越多,它占用的内存就越多.

我想要做的是导入一次字典文件,并在需要时将其传递给每个求解器实例.但是最好的方法是什么?我应该在全局空间中导入字典,然后在解算器类中以globals()['字典']的形式访问它吗?或者我应该导入字典然后将其作为参数传递给类构造函数?其中一个比另一个好吗?有第三种选择吗?

python boggle

4
推荐指数
1
解决办法
1738
查看次数

如何在Google Visualization API中添加多行注释?

我正在尝试使用google可视化API生成带注释的LineChart,虽然我有它工作,但我希望能够在可能的情况下让注释包含换行符.不幸的是,Google的API似乎忽略了任何换行信息并在一行中显示所有内容.有没有人想出办法解决这个问题?

这是一个例子:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'Sales');
data.addColumn({type:'string', role:'annotation'});
data.addColumn({type:'string', role:'annotationText'});
data.addRows([
    ['April',1000, 'A', "Stolen data\nSo-so month"],
    ['May',  1170, 'B', "Coffee spill\nAnother line\nA third line"],
    ['June',  660, 'C', "Wumpus attack"]
]);
Run Code Online (Sandbox Code Playgroud)

我试过了\n, \\n, and <br />,那些都没用.

google-visualization

3
推荐指数
2
解决办法
5983
查看次数

在C中,声明并初始化一个小函数中的变量或只返回一个响应

来自PHP背景,我习惯于编写返回字符串的小函数(或来自另一个函数的响应),如下所示:

function get_something(){
    return "foo";
}
Run Code Online (Sandbox Code Playgroud)

但是,我是C的新手,我正试图想办法如何做一些像这样的基本事情.

人们可以检查以下类似的功能,并告诉我它们有何不同,哪一个是最好/最干净的?

char *get_foo(){
    char *bar;
    bar = "bar";
    return bar;
}

char *get_foo(){
    char *bar = "bar";
    return bar;
}

char *get_foo(){
    char *bar = NULL;
    bar = "bar";
    return bar;
}

char *get_foo(){
    return "bar";
}
Run Code Online (Sandbox Code Playgroud)

这些功能之间有什么区别,还是风格问题?

另一件事.如果我有两个函数而另一个调用另一个函数,这可以吗?

char *get_foo(){
    return "bar";
}

char *get_taz(){
    return get_foo();
}
Run Code Online (Sandbox Code Playgroud)

更新:如果get_foo()没有返回const char*,这些函数将如何更改?如果get_foo()调用另一个具有不同长度的char*的函数怎么办?

c memory-leaks

2
推荐指数
1
解决办法
576
查看次数