是否有一种简单的方法(即没有编写脚本或精心设计的键映射序列)来抽取一组线并将光标留在执行Yank的任何地方,而不是在块的开头?
根据VIM的帮助:"请注意,在一个字符式的yank命令之后,Vim将光标留在最接近缓冲区起点的第一个被拉出的字符上." 线条似乎表现相似.
这对我来说有点烦人,因为我倾向于从上到下选择一个大区域,Yank,然后粘贴到所选区域底部附近或下方.今天我在Yank之前设置了一个标记(mx),然后跳回来,但我怀疑可能有一个不同的Yank序列可以满足我的需要.
我已经多次搜索SO和网络了.有很多现有的"VIM快捷方式"材料需要解决,但我还没有找到解决方案.
提前致谢.
我正在开发的应用程序是围绕jQuery Mobile和一些Ajax构建的,用于刷新页面的一部分.就像使用自动刷新的网站一样,我希望在某些条件(时间/可见性等)之后停止刷新,这样我的服务器就不会被不需要的请求轰炸.应用程序有一个状态屏幕,通常由用户检查,理想情况下,我的脚本会知道浏览器窗口已经成为焦点,现在是刷新的好时机.我以前在桌面webapps中做过这个,但我注意到不同平台和浏览器之间在移动端有很多变化,例如:
到目前为止我能做的最好的是一组启发式查看可用事件+当检测到用户与页面的交互时,但它很笨拙并导致用户跳回到页面并且必须手动刷新.不是很好.
任何解决这个问题的聪明技巧?
我是Doctrine的新手,但对SQL有些熟悉.我有一个非常简单的架构,包含用户和挑战.每个Challenge都有一个"challenger id"和一个"opponent id",它们是User表中的外键.我想打印所有挑战的列表,输出是User表中的名称.这是我的Doctrine查询;
$q = Doctrine_Query::create()
->select('u1.name challenger, u2.name opponent')
->from('Challenge c')
->leftJoin('c.Challenger u1')
->leftJoin('c.Opponent u2');
Run Code Online (Sandbox Code Playgroud)
问题是这只返回一行.我已经使用getSqlQuery()命令查看生成的SQL,最终得到的结果是:
SELECT u.name AS u__0, u2.name AS u2__1 FROM challenge c
LEFT JOIN user u ON c.challenger_id = u.id
LEFT JOIN user u2 ON c.opponent_id = u2.id
Run Code Online (Sandbox Code Playgroud)
在第三方SQL客户端中运行时,此查询将按预期检索所有行.知道如何从Doctrine获取所有行吗?我正在使用$q->execute()
我理解应该为多行工作.
谢谢.