小编ram*_*ion的帖子

AWK:从线条模式访问捕获的组

如果我有一个awk命令

pattern { ... }
Run Code Online (Sandbox Code Playgroud)

和pattern使用捕获组,如何访问块中捕获的字符串?

regex awk

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

JavaScript"new Array(n)"和"Array.prototype.map"怪异

我在Firefox-3.5.7/Firebug-1.5.3和Firefox-3.6.16/Firebug-1.6.2中观察到了这一点

当我开火萤火虫时:

var x = new Array(3)
console.log(x) 
// [undefined, undefined, undefined]

var y = [undefined, undefined, undefined]
console.log(y) 
// [undefined, undefined, undefined]

console.log( x.constructor == y.constructor) // true

console.log( 
  x.map(function() { return 0; })
)
// [undefined, undefined, undefined]

console.log(
  y.map(function() { return 0; })
)
// [0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?这是一个错误,还是我误解了如何使用new Array(3)

javascript arrays map-function

192
推荐指数
10
解决办法
4万
查看次数

LaTeX:防止一行文本中的换行符

如何防止LaTeX在我的\texttt{...}\url{...}文本区域中插入换行符?里面没有我可以替换的空间~,它只是打破了符号.

更新:我不想导致行溢出,我只是想在这些区域之前而不是在其中插入换行符.

latex

137
推荐指数
5
解决办法
20万
查看次数

如果不存在,如何创建新的tmux会话

我试图找出如何附加到一个tmux session命名的tmux会话,如果不存在,我想创建一个具有给定名称的新会话.

目前,我知道一些tmux命令可以部分实现我正在寻找的东西,但不清楚如何将它们组合在一起以获得我想要的东西:

  • tmux attach 附加到自动存在的会话 - 但如果不存在会话则会出错
  • tmux new 创建一个新的会话 - 但它每次都这样做,所以我不能把它留在我的 .tmux.conf
  • tmux has-session 测试会话是否存在 - 但我不知道如何将其与其他命令拼接在一起

因此,我想创建一个tmux脚本,以便自动发生,而不必每次我需要登录会话时手动创建它.

如何编写自动脚本以创建新的tmux会话(如果给定的会话名称不存在)或附加到会话名称(如果存在)?

tmux

137
推荐指数
6
解决办法
6万
查看次数

在任意宽度的窗口中在Vim中以80个字符进行软包装

我想使用Vim的软包装功能(:set wrap)将一些代码包装成80个字符,而不管我的实际窗口宽度如何.

我还没有找到办法做到这一点 - 所有柔软的包裹似乎都与窗户的宽度有关

  • textwidth并且wrapmargin都用于硬包装(它们将换行符插入文件中)
  • 垂直分割成多个窗口并使用:vertical resize 80(可能:set breakat=允许在任何字符上中断)其中一个工作(即使它有点hackish),但在使用时断开,:set number因为行数占用可变数量的列(取决于在文件长度上)这些是80的一部分.

有没有办法在vim中这样做? 据其他消息来源称,这看起来并不乐观.

现在我的近似只是/^.\{80}\zs.\+作为我的默认搜索,所以它至少突出显示.我想:syntax为它添加一个项目,但是当它与其他语法项重叠时就破坏了,所以我放弃了这个想法.

vim word-wrap

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

如何遍历Java String的unicode代码点?

所以我知道String#codePointAt(int),但它是由char偏移索引,而不是由代码点偏移索引.

我正在考虑尝试这样的事情:

但我担心的是

  • 我不确定自然处于高代理范围内的代码点是否会存储为两个char值或一个值
  • 这似乎是迭代字符的一种非常昂贵的方式
  • 有人必须想出更好的东西.

java string unicode

99
推荐指数
4
解决办法
3万
查看次数

用于人性化相对日期格式的Javascript库

我想以人性化的格式显示相对于当前日期的一些日期.

人性化相对日期的例子:

  • 10秒前
  • 从现在起20分钟
  • 1天前
  • 5周前
  • 2个月前

基本上忠实地保持最高的数量级(并且优先考虑,只有当通过其中2个单位时才调高单位 - 5周而不是1个月).

虽然我可以住一个控制较少的图书馆,甚至更友好的日期,如:

  • 昨天
  • 明天
  • 上个星期
  • 几分钟前
  • 在几个小时内

任何流行的图书馆?

javascript formatting date

89
推荐指数
6
解决办法
6万
查看次数

在Git中恢复文件的修改时间

我理解每次更改文件时更新修改时间默认Git行为,但有时我想恢复文件的原始修改时间.

有没有办法告诉Git这样做?

(例如,在处理大型项目时,我做了一些更改configure.ac,发现autotools在我的系统上不起作用,并希望将其恢复configure.ac到原始内容和修改时间,这样make就不会尝试configure用我破损的autotools 更新.)

git

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

Haskell中现有的大小惰性向量类型

我希望能够使用O(1)分摊的寻址,其矢量类型根据所需的索引而懒惰地增长.

这可以通过使用配对a MVector (PrimState m) a:a PrimRef m [a]来保持余数,使用标准的双重算法进行amoritzed O(1)访问来实现:

{-# LANGUAGE ExistentialQuantification #-}
module LazyVec where

import Control.Monad.Primitive
import Data.PrimRef
import Data.Vector.Mutable (MVector)
import qualified Data.Vector.Mutable as M
import Data.Vector (fromList, thaw)
import Control.Monad (forM_)

data LazyVec m a = PrimMonad m => LazyVec (MVector (PrimState m) a) (PrimRef m [a])

-- prime the LazyVec with the first n elements
lazyFromListN :: PrimMonad m => Int -> [a] -> m (LazyVec m a)
lazyFromListN n xs = …
Run Code Online (Sandbox Code Playgroud)

haskell vector

36
推荐指数
1
解决办法
714
查看次数

用于"编辑此文件副本"的Vim命令

我现在似乎遵循的模式是:

  • 编辑文件直到我喜欢它
  • :w another-file 用它作为起点 another-file
  • :e another-file 擦亮 another-file

是否有现成的ex命令一次执行后两个步骤?有点像:writeAndEdit another-file

我可以使用vimscript伪造一个,我只想知道是否存在现有命令.

vim ex

29
推荐指数
2
解决办法
8782
查看次数

标签 统计

javascript ×2

vim ×2

arrays ×1

awk ×1

date ×1

ex ×1

formatting ×1

git ×1

haskell ×1

java ×1

latex ×1

map-function ×1

regex ×1

string ×1

tmux ×1

unicode ×1

vector ×1

word-wrap ×1