小编puk*_*puk的帖子

如何使用vim的标记功能,但将光标保持在原位

Vim的标记功能允许将功能应用于当前行和标记行之间的每一行.例如,如果我的标记线下方3k

1 var a = 0;
2 while (a < 10){
3 a++;
4 console.log('Hello');
5 console.log('world');
6 ?
7 }
Run Code Online (Sandbox Code Playgroud)

并从光标position(?)发出命令>'k,我将得到以下内容

1 var a = 0;
2 while (a < 10){
3 ?  a++;
4    console.log('Hello');
5    console.log('world');
6
7 }
Run Code Online (Sandbox Code Playgroud)

(注意:cursos可能会超过a,但这并不重要)

这是期望的效果,但现在光标已经一直向上移动.对于大多数情况,这是可取的,因为我通常想从顶部编辑.但在这种情况下,我可能想再次缩进,所以我必须再次导航到底部.在我缩进20多行的情况下,这将成为一项真正的苦差事.

如何暂时禁用此搜索功能?

vim

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

如何使用javascript调用钛中的WebService

我是钛的新手,想从我的钛应用程序中调用一个Web服务.webService返回json响应.因为我知道调用webService使用XMLRPC但非常混淆json.

到现在为止,我知道我们必须创造HTTPClient.

var request = Titanium.Network.createHTTPClient();
request.open("POST", "http://test.com/services/json");
request.onload = function() {
    var content = JSON.parse(this.responseText);//in the content i have the response data
};

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //did not understand this line
request.send();
Run Code Online (Sandbox Code Playgroud)

现在问题是如果我的url(端点)有许多WebServices,那么我将给出方法名称,即要调用的WS名称.

从钛移动的API文档的功能open,即request.open接受3个参数:

  1. 方法名称(http方法名称)

  2. 请求的网址

  3. async(boolean property)默认为true.

在上面的代码那里"POST"做什么?如果我的WS名称,system.connect那么我将在代码中提到它?

如果WS需要参数,那么我们如何将参数发送到上面代码的webService.

我知道request.send()可以用来发送参数但是如何?

javascript titanium appcelerator appcelerator-mobile titanium-mobile

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

在Visual Studio命令提示符中更改分区

在MSDOS命令提示符下更改为其他分区,您只需键入

C:\> cd E:
Run Code Online (Sandbox Code Playgroud)

但这在视觉工作室中不起作用.如何在Visual Studio命令提示符(2010)中更改为另一个驱动器/分区?

command-prompt visual-studio-2010 visual-studio

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

Vim 重新映射 F10 键

我在 FreeBSD 上使用 Vim 7.3。我通过 Putty 连接到这台机器。在 Vim 上工作时,我无法重新映射F10键来做我想做的事情。在我的 .vimrc 中,我做了以下事情:

nmap <F10> :!ls<CR>
Run Code Online (Sandbox Code Playgroud)

然后我做了“source $MYVIMRC”来加载 .vimrc 中的更改。当我F10在此之后按下时,它会打印 ^[[21~ 而不是执行地图。我尝试了所有的组合,noremap但没有任何效果。

将其重新映射到其他功能键不是一种选择,因为它们被映射用于其他用途。

仅供参考,在Putty 配置选项中,在终端-> 键盘下,我已将“功能键和键盘”选项设置为“Linux”。

有什么建议可以让它发挥作用吗?

vim freebsd

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

保存和/或自动保存vim会话的正确方法是什么?

您可以使用创建会话

:mksession [sessionName.vim]
Run Code Online (Sandbox Code Playgroud)

但如果您以后修改该会话(即添加/删除缓冲区),则必须再次手动保存会话,但这样做会产生以下错误

E189: "Session.vim" exists (add ! to override)
Run Code Online (Sandbox Code Playgroud)

这是你通常能获得一个错误Save As没有Save.所以我有两个问题:

  1. 这里没有Save功能吗?
  2. 有没有办法对autosave会话文件进行所有更改?

注意:我知道我可以发出mksession! sessionName.vim覆盖现有会话文件的问题.

vim

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

在vim中包含带有HTML标记的部分

我希望能够用其他标签快速包装HTML的整个部分.当我意识到我需要一个围绕我的其他div的外部div时,我遇到了很多,像这样:

原始HTML:

<div id='a'>
   <img src='a.png'>
</div>
<div id='b'>
   <img src='b.png'>
</div>
Run Code Online (Sandbox Code Playgroud)

修改后的HTML:

<div id='Main'>
   <div id='a'>
      <img src='a.png'>
   </div>
   <div id='b'>
      <img src='b.png'>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以使用matchit.vimsurround.vim,但我不相信surround.vim环绕着单词(即.<div>),只是单个字符(即.<),它也不会缩进.

我现在能想到的最接近的东西需要按下15-20个按钮.

html vim plugins

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

使用rfcomm检查连接是否成功

我正在尝试使用蓝牙软件狗将手机连接到RaspberryPi(不做任何破坏地球的工作,只需确定手机何时在该区域中)。如果我把我的手机的蓝牙并发出以下命令,我得到下面的输出(任何人都开始说教我,这是怎么一个安全漏洞之前,让我提醒你,这是不是我的实际电话蓝牙ID):

命令:

sudo rfcomm connect 0 AA:BB:CC:DD:EE:FF 10
echo $?
Run Code Online (Sandbox Code Playgroud)

输出:

Connected /dev/rfcomm0 to AA:BB:CC:DD:EE:FF on channel 10
Press CTRL-C for hangup
0
Run Code Online (Sandbox Code Playgroud)

现在,如果我把我的手机的蓝牙关闭,并发出相同的命令,我得到下面的输出(再次,所有的ID已被更改,以保护无辜)。

命令:

sudo rfcomm connect 0 AA:BB:CC:DD:EE:FF 10
echo $?
Run Code Online (Sandbox Code Playgroud)

输出:

Can't connect RFCOMM socket: Host is down
0
Run Code Online (Sandbox Code Playgroud)

由于我正在尝试确定电话何时在房间里以及何时离开,因此我需要某种方式(通过其他方式)来检测加密狗何时可以和不能连接到它。我该如何实现呢?(注意:我尝试从建筑物中取出手机,甚至完全将其关闭)

编辑:我已经考虑捕获stderr消息并像这样测试它

error=$`sudo rfcomm connect 0 AA:BB:CC:DD:EE:FF 10 >/dev/null` &
if [ $error=="Can't connect RFCOMM socket: Host is down" ]
then
    ...
fi;
Run Code Online (Sandbox Code Playgroud)

但是问题是rfcomm必须在后台运行。

wireless bluetooth dongle rfcomm raspberry-pi

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

使用循环来分叉不同数量的孩子

大部分时间我遇到展示如何叉,像这样的例子:

main()
{
    int    pid;

    pid = fork();
    // child
    if (pid == 0)                
    {
        ...
    }
    // Parent
    else if (pID > 0)            
    {
        ...
    }
Run Code Online (Sandbox Code Playgroud)

}

有些人展示了如何分叉2个孩子,就像这样

pid = fork();
// Child
if ( pid==0 )
{
   ...
}

// Parent
else if ( pid>0 )
{
   pid=fork();

   // Second child
   if ( pid==0 ){
      ...
   }

}
Run Code Online (Sandbox Code Playgroud)

这是我试图分叉5个孩子......

pid = fork();
// Child
if ( pid==0 )
{
   ...
}

// Parent
else if ( pid>0 ) …
Run Code Online (Sandbox Code Playgroud)

c fork multiprocessing

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

使用AVSEEK_FLAG_ANY的ffmpeg av_seek_frame会导致灰屏

问题: omxplayer的源代码av_seek_frame()使用AVSEEK_FLAG_BACKWARD标志调用ffmpeg 方法.虽然不是100%肯定,但我相信这是寻求最接近的i-frame.相反,我想寻找确切的位置,所以我修改了源代码,使得该av_seek_frame()方法现在使用该AVSEEK_FLAG_ANY标志.现在,当电影加载时,我会得到一个灰色屏幕,通常持续1秒,在此期间我可以听到音频.我在多台计算机上尝试过这种方式(我实际上是同步它们,因此也是同时)因此它不是一个孤立的事件.我的猜测是,寻找非i帧在计算上更昂贵,导致初始灰色屏幕.

问题:如何使用ffmpeg,我可以指示音频等到视频准备好后再继续.

ffmpeg seek media-player

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

vim中两个等号(==#)后的哈希(#)符号是什么意思

我在此处输入链接描述时遇到了以下代码,它的作用是将视觉选择中的单词从大写切换到小写,然后切换到标题大小写。我正在尝试将此功能更改为将单词从 Title Case 切换为小写,然后切换为 UPPER CASE。问题是我不知道==#这里是什么意思。有人可以提供一个关于==#是什么的答案。

function! TwiddleCase(str)
  if a:str ==# toupper(a:str)
    let result = tolower(a:str)
  elseif a:str ==# tolower(a:str)
    let result = substitute(a:str,'\(\<\w\+\>\)', '\u\1', 'g')
  else
    let result = toupper(a:str)
  endif
  return result
endfunction
vnoremap ~ y:call setreg('', TwiddleCase(@"), getregtype(''))<CR>gv""Pgv
Run Code Online (Sandbox Code Playgroud)

vim

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