小编Jam*_*igh的帖子

插入字符而不进入插入模式?

有时我想插入一个 #注释掉一行并快速测试.目前我这样做:

i#ESC:w

我能做些什么吗?

vim keymapping shortcut

16
推荐指数
1
解决办法
9166
查看次数

Android - 如何在构建时为动态源项目动态设置包名?

我正在开发一个开源项目.由于任何人都可以下载源代码并自行构建,我不想在任何地方对包名称进行硬编码- 包括目录结构.

ant用于建筑.显然我可以修改build.xml,但我相信这会被覆盖android update.无论使用什么都将致力于Git回购,它不应该太复杂.

目前,直接从Git仓库构建代码的过程非常简单.以下是该README文件的摘录:

$ cd ~/src/isokeys/IsoKeys
$ android list targets # I build against API level 10.
$ android update project --name IsoKeys --target 1 --path ./ # Only needed first time.
$ ant debug && adb -d install -r bin/IsoKeys-debug.apk
Run Code Online (Sandbox Code Playgroud)

对我来说,将包名放入其中是有意义的local.properties,因为这是.gitignore'd.由于程序包名称不会出现在其他任何位置,因此构建将失败而不执行此操作.所以需要至少增加一步README,但我希望将其保持在最低限度.

编辑:当然,另一个要求是差异是有意义的 - 如果你手动重命名包名称他们不会.

ant android open-source

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

更改已升级的Android应用程序的程序包名称

在我的Android应用程序升级期间,我更改了包名称.但Android市场不允许将更改的包名称应用程序上载为升级.如果我将应用程序作为新应用程序上传,用户是否会在他/她的设备上有两个应用程序?如何确保用户不必从头开始再次下载应用程序而不还原我的软件包名称的更改?

android apk android-install-apk google-play

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

Android - 签名密钥到期后会发生什么?

如果签名密钥到期,现有的apks是否拒绝安装,或者只是意味着新的应用程序无法使用该密钥签名?

我们建议使用25年以上的密钥,Google Play 要求至少2033-10-22到期!然而,有些人可能希望更新自己的钥匙远远高于出于安全原因(摩尔定律,破获algorthms等)更频繁.

如果apk的密钥已过期,是否有任何安装方式(不依赖开发人员重新发布)?

android code-signing code-signing-certificate apk android-install-apk

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

如何在Haskell中定义后缀运算符?

使用度数角度时,我想定义度数符号(°)作为后缀运算符.目前,我使用此行(在GHCi中):

let o = pi/180
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

tan(11*o)
Run Code Online (Sandbox Code Playgroud)

但我想去:

tan 11°
Run Code Online (Sandbox Code Playgroud)

这更清楚.学位操作员应该具有比' tan'和其他功能更高的优先级.

我最接近的是:

let (°) x _ = x*pi/180
Run Code Online (Sandbox Code Playgroud)

像这样使用:

tan(11°0)
Run Code Online (Sandbox Code Playgroud)

但是默认优先级意味着仍然需要parens,并且使用虚拟数字,这个替代方案比我目前使用的更差.

haskell operators

9
推荐指数
2
解决办法
3648
查看次数

Android - 为什么autolink会忽略URL的根路径?

我有一个带有android:textLink ="web"的TextView.该文本包含一些URL.

例如:http:
//example.com/

但是在渲染时,它会链接名称方案和域名,但会忽略根路径.

示例呈现为:
http://example.com /

为什么这样做?如何使其正确地自动链接完全限定的URL?

编辑:此外,URL后跟fullstop或逗号:
http://example.com/,

正在呈现为:http:
//example.com/,

请注意,StackExchange正确自动链接(查看此问题的来源).

编辑:山姆,这是代码:

        <TextView android:id="@+id/open_source"
            android:text="@string/open_source"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="#FFF"
            android:paddingBottom="10dp"
            android:autoLink="web" />
Run Code Online (Sandbox Code Playgroud)

一些文字:

<string name="open_source">Three examples, fully qualified http://isokeys.sourceforge.net/ missing root path http://isokeys.sourceforge.net and followed with a fullstop http://isokeys.sourceforge.net/.</string>
Run Code Online (Sandbox Code Playgroud)

应该呈现为:
三个例子,完全限定的http://isokeys.sourceforge.net/缺少根路径http://isokeys.sourceforge.net,然后是一个完整的http://isokeys.sourceforge.net/.

呈现为:
三个示例,完全限定的http://isokeys.sourceforge.net /缺少根路径http://isokeys.sourceforge.net,然后是一个fullstop http://isokeys.sourceforge.net/.

android textview

6
推荐指数
1
解决办法
694
查看次数

触摸事件是否适用于SVG?

我一直在玩SVG + ECMAScript,我发现它令人印象深刻.

我最近发现(X)HTML5有一个"触摸事件"规范,因此Android浏览器,Firefox和Chrome/Chromium等浏览器都支持多点触控屏幕.

我可以在独立的SVG文件中从ECMAScript访问这些相同的事件吗?(即没有任何(X)HTML5.)如果是这样,一个简单的示例SVG文件将非常感激.

注意:通过"触摸事件",我指的是W3C定义的标准触摸事件,而不是Apple或其他人定义的任何专有API.

javascript svg multi-touch

6
推荐指数
1
解决办法
6682
查看次数

如何在 Vim 中复制缓冲区?

我正在寻找一种方法来创建一个新缓冲区,它是当前缓冲区的副本。

然后,我可以执行以下操作,将当前选项卡复制到 gVim 中的新选项卡,例如:

:let b = bufnr("%") | tabnew | execute 'buffer' b | *duplicate*
Run Code Online (Sandbox Code Playgroud)

然而,这个问题并不是针对 tabs 或 gVim 的。我可能想在split命令或vert diffsplit命令之后复制缓冲区。(实际上,这vert diffsplit是我意识到我想要复制缓冲区的第一个实例。)

理想情况下,我还希望尽可能多地保留原始缓冲区和窗口状态,包括光标位置,但原始缓冲区只读状态被忽略并且新缓冲区始终可写。

目前,当我遇到此任务时,我输入ggyG、打开或移动到新缓冲区,然后输入Vp,但不仅会丢失新窗口的光标位置,而且我使用的复制命令也需要丢失原始窗口中的位置. 该过程肯定可以简化为单个命令。

vim buffer copy

5
推荐指数
1
解决办法
1888
查看次数

如何跳过类似于Haskell模式匹配的Perl列表赋值中的元素?

在Haskell(和各种其他函数式编程语言)中,模式匹配可用于分配列表的特定元素,同时丢弃其他元素:

Prelude> let [x, _, z] = "abc"
Prelude> x
'a'
Prelude> [z, x]
"ca"
Run Code Online (Sandbox Code Playgroud)

请注意,' _'不是变量,并且未分配任何内容:

Prelude> _

<interactive>:5:1: Pattern syntax in expression context: _
Run Code Online (Sandbox Code Playgroud)

对于用Perl编写的Irssi脚本,我想做类似的事情并丢弃' '的第二个元素@_(即不将它分配给任何东西):

my ($message, _, $windowItem) = @_;
Run Code Online (Sandbox Code Playgroud)

这失败并显示错误消息:" Can't declare constant item in "my" at [...]overlength_filter.pl line 17, near ") =""

那么这个下划线通配符的Perl等价物是什么?

perl pattern-matching variable-assignment

5
推荐指数
1
解决办法
323
查看次数

如何"收缩"字符串以逃避Bash中的特殊字符?

有很多方法可以扩展转义字符串,但是如何使用shell命令将字符串作为参数并将其转义?

以下是不同扩展方式的一些示例:

$ echo -e '\x27\\012\b34\n56\\\aa7\t8\r 9\0\0134\047'
'\0134
 9\'7   8
$ echo $'\x27\\012\b34\n56\\\aa7\t8\r 9\0\0134\047'
'\0134
 9\a7   8
$ PS1='(5)$ '  # At least tab-width - 3 long; 5 columns given typical tab-width.
(5)$ printf %b '\x27\\012\b34\n56\\\aa7\t8\r 9\0\0134\047'
'\0134
 9\'(5)$ 
Run Code Online (Sandbox Code Playgroud)

注意:上面的7和8之间实际上有一个制表符,但是标记渲染似乎打破了它.

是的,那里有各种各样的疯狂.;-)

无论如何,我正在寻找这种转义扩展命令的反向.如果调用该命令escape,它将满足以下属性:

$ echo -ne "$(escape "$originalString")"
Run Code Online (Sandbox Code Playgroud)

应输出originalString' echo -n "$originalString"'' 的逐字值.即它应该是一个身份.

同样:

$ escape "$(echo -ne "$escapedString")"
Run Code Online (Sandbox Code Playgroud)

应该再次输出字符串转义,但不一定以与以前相同的方式.例如,\0134可能变成\\反之亦然.

string bash escaping

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