小编Ste*_* Lu的帖子

vim:如何指定箭头键

在vim中,使用map命令时必须指定键.例如<CR> <ESC> <F1>.箭头键对应的是什么?

vim

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

Vim:与TMUX结合使用t_Co = 256和term = xterm-256color之间的差异

我正在测试各种不同的终端,我倾向于使用SSH连接到我有Tmux设置的Linux机箱.

基本上我注意到了这种行为,我希望有人可以解释发生了什么.现在情况可能是这是影响提示应用程序的特定行为.

我在Tmux中使用Vim,在我的iPhone5上使用Panic的Prompt应用程序时,当.vimrc使用set t_Co=256指令设置颜色时,我有256种颜色未启用的行为.在这里,Vim在未通过Tmux运行时正确显示颜色.另外,OS X的Terminal.app正确地呈现了颜色(我没有在Windows上测试PuTTY,不幸的是)在Tmux中使用了Vim.

然后我换出set t_Co=256set term=xterm-256color,现在的颜色通过使用TMUX Vim时工作.

另请注意,我测试了Tmux的两者set -g default-terminal "xterm-256color"set -g default-terminal "screen-256color"设置,此更改对行为没有影响.

vim terminal xterm tmux

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

什么是〜/ .npm目录?

我已经安装了全局的npm包jslint,它就住在这里

$ ls -la /usr/local/bin/jslint
lrwxr-xr-x  1 lust  admin  40 Feb 12 15:31 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js

$ ls -la /usr/local/lib/node_modules/jslint/bin 
total 8
drwxr-xr-x   3 lust  staff   102 Apr 16  2012 .
drwxr-xr-x  10 lust  staff   340 Feb 12 15:31 ..
-rwxr-xr-x   1 lust  staff  2330 Apr 16  2012 jslint.js

$ which jslint
/usr/local/bin/jslint

$ head -3 /usr/local/bin/jslint 
#!/usr/bin/env node

var linter = require("../lib/linter");
Run Code Online (Sandbox Code Playgroud)

因此,毫无疑问,此时jslint实际上是从这个目录运行而不是在这里:

$ ls -la .npm/jslint/0.1.9/package/bin/         
total 8
drwxr-xr-x  3 lust  staff   102 Apr …
Run Code Online (Sandbox Code Playgroud)

macos zsh node.js npm

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

Tmux:切换两个相邻窗格的分割方式

我意识到重塑窗格布局一般来说并不容易描述,但我感兴趣的是至少能够交换两个相邻窗格的布局.

假设我有这样的窗格布局

 _____________
|    |        |
|    |   2    |
|    |________|
| 0  |        |
|    |        |
|    |        |
|    |   3    |
|____|        |
| 1  |        |
|____|________|
Run Code Online (Sandbox Code Playgroud)

我现在发现我想要更多垂直空间和窗格3.考虑如何用窗格0或1重新排列它显然不是一件容易的事情,但如果我能告诉3和2翻转分裂轴,那将是非常好的:

 _____________
|    |     |  |
|    |     |  |
|    |     |  |
| 0  |     |  |
|    |  3  |2 |
|    |     |  |
|    |     |  |
|____|     |  |
| 1  |     |  |
|____|_____|__|
Run Code Online (Sandbox Code Playgroud)

(注意这里tmux很可能会重新排序它,所以旧的3成为新的窗格#2)

目前,当我尝试运行join-pane -h …

tmux

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

Chrome"无响应页面"误报(自Chrome 32以来)

自从Chrome更新到版本32以来,我一直在经历严重的错误.最糟糕的情况之一是使用Web Inspector编辑DOM时,Chrome会在每分钟开始弹出此对话框,该对话框从Web Inspector中获得焦点:

在此输入图像描述

它抱怨Web Inspector本身"没有反应",当它真的没有,并没有出错.

我正在搞乱的这个特定页面正在使用变异汇总库.也许Chrome中认为内容无响应的错误可能与设置各种连续运行的setTimeouts有关.我这样说是因为我在我们工作的网络应用程序中观察到类似的行为,这也开始发生(同样令人讨厌).

解决方法是我相信可以忽略对话框并继续工作.我想知道是否有其他人(或其他所有人)遇到过这个问题?

javascript google-chrome google-chrome-devtools

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

Bash:如何从参数设置变量,并使用默认值

这是很清楚的,与shell脚本这样的事情可以在因为所有的不同的变量扩展方法的方式(超过大多数编程语言)和程序等一个庞大的数字来完成test,并[[[

现在我只是在寻找

DIR=$1 or .
Run Code Online (Sandbox Code Playgroud)

意思是,我的DIR变量应该包含在第一个arg或当前目录中指定的内容.

这有什么区别DIR=${1-.}

我发现连字符语法令人困惑,并寻求更可读的语法.

为什么我不能这样做?

DIR="$1" || '.'
Run Code Online (Sandbox Code Playgroud)

我猜这意味着"如果$ 1为空,分配仍然有效(DIR变空),所以无效命令'.' 永远不会被处决."

unix bash shell

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

C++确定是否使用调试符号进行编译而不定义预处理器符号

我一直在使用这样的东西:

int main(int argc, char *argv[])
{

#ifdef DEBUG
    printf("RUNNING DEBUG BUILD");
#else
    printf("Running... this is a release build.");
#endif
...
Run Code Online (Sandbox Code Playgroud)

但是,这需要我使用-DDEBUG进行编译以进行调试构建.GCC是否为我提供了一些方法来确定何时使用调试符号(-g标志)进行编译,例如定义我自己可以检查的预处理器宏?

c c++ debugging gcc

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

自定义C++断言宏

我偶然发现了一篇内容丰富的文章:http://cnicholson.net/2009/02/stupid-c-tr​​icks-adventures-in-assert/ ,它指出了我当前的调试宏套件中存在的大量问题.

如果您点击链接,则会在文章末尾附近给出宏的最终版本的完整代码.

提出的一般形式是这样的(如果我在转置它时错误,请有人纠正我):

#ifdef DEBUG
#define ASSERT(cond) \  
    do \  
    { \  
        if (!(cond)) \  
        { \  
            ReportFailure(#cond, __FILE__, __LINE__, 0); \
            HALT(); \
        } \  
    } while(0)  
#else  
#define ASSERT(cond) \  
    do { (void)sizeof(cond); } while(0) 
Run Code Online (Sandbox Code Playgroud)

在考虑使用我所学的内容修改代码时,我注意到该文章的评论中发布了一些有趣的变体:

一个是你不能将这个宏与三元运算符(即cond?ASSERT(x):func())一起使用,并且建议if()用三元运算符和一些括号以及逗号运算符替换它.后来另一位评论者提供了这样的:

#ifdef DEBUG
#define ASSERT(x) ((void)(!(x) && assert_handler(#x, __FILE__, __LINE__) && (HALT(), 1)))
#else
#define ASSERT(x) ((void)sizeof(x))
#endif
Run Code Online (Sandbox Code Playgroud)

&&在这种情况下,我认为使用逻辑并且特别聪明,在我看来,这个版本比使用if甚至三元的版本更灵活?:.更好的是返回值assert_handler可用于确定程序是否应该停止.虽然我不确定它为什么(HALT(), 1)而不仅仅是HALT().

我忽略了第二个版本是否存在任何特殊缺点?它消除了do{ } …

c++ macros assert

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

浏览器如何解决冲突的类?

我知道可以在HTML中的元素上指定多个类:

<div class='one two'>Text</div>
Run Code Online (Sandbox Code Playgroud)

看起来类可以从Javascript作为单个字符串访问.

使用冲突属性指定类时会发生什么?例如

div.one {
  background-color: red; 
  color: blue;
}
div.two {
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)

结果是否取决于指定类的顺序?例如,我可以合理地期望上面的div显示为蓝色文本和绿色背景,因为two类被评估为第二,覆盖background-color属性?

html css dom

24
推荐指数
4
解决办法
8929
查看次数

IPPROTO_IP与IPPROTO_TCP/IPPROTO_UDP

我在查找关于第三个参数的这些设置之间的区别的文档时遇到了一些麻烦socket.我知道TCP和UDP及其差异以及IP是堆栈上的一层(向下?)...我的UDP代码似乎工作相同,无论我将其设置为IPPROTO_IPIPPROTO_UDP.

sockets ip

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

标签 统计

c++ ×2

tmux ×2

vim ×2

assert ×1

bash ×1

c ×1

css ×1

debugging ×1

dom ×1

gcc ×1

google-chrome ×1

google-chrome-devtools ×1

html ×1

ip ×1

javascript ×1

macos ×1

macros ×1

node.js ×1

npm ×1

shell ×1

sockets ×1

terminal ×1

unix ×1

xterm ×1

zsh ×1