我设置git diff包装到vimdiff,使用" Git Diff with Vimdiff "作为指南,除非有许多文件有变化,否则它按预期工作.
当有多个文件有变化并且我运行时git diff,它会打开第一个文件,在退出第一个vimdiff实例后,我会看到以下消息:
external diff died, stopping at filename
Run Code Online (Sandbox Code Playgroud)
这是一种与我以前完全不同的行为.我在过去使用SVN时有类似的设置,在对多个:wq文件进行区分时,我会查看第一个文件,然后编写并退出使用,下一个文件会有差异打开.
Git不是这种情况.我试过了:n[ext],但这样做并没有用原始文件填充左侧窗口,因此可以针对修改后的版本进行区分.
我试图通过使用变量类名访问类中的静态变量.我知道为了访问类中的函数,您使用call_user_func():
class foo {
function bar() { echo 'hi'; }
}
$class = 'foo';
call_user_func(array($class, 'bar')); // prints hi
Run Code Online (Sandbox Code Playgroud)
但是,当尝试访问类中的静态变量时,这不起作用:
class foo {
public static $bar = 'hi';
}
$class = "foo";
call_user_func(array($class, 'bar')); // nothing
echo $foo::$bar; // invalid
Run Code Online (Sandbox Code Playgroud)
我如何得到这个变量?它甚至可能吗?我有一种不好的感觉,这只适用于PHP 5.3,我正在运行PHP 5.2.6.
我试图通过jQuery传递一些数据$.post(),我遇到了一些问题,我只能归类为数据映射中的变量评估.让我们来看看:
var field = 'fooVar';
var value = 'barVar';
$.post('/path/to/url', { field:value, 'fooString':'barString' });
Run Code Online (Sandbox Code Playgroud)
最终结果是具有以下值的POST:
// Actual result
field = barVar
fooString = barString
// Expected result
foo = barVar
fooString = barString
Run Code Online (Sandbox Code Playgroud)
我希望在数据图中将"field"评估为变量"foo",但事实并非如此.我能够辨别的是"key"上的单引号是可选的,因此将它们排除不会导致变量被评估.
我还尝试了以下几个运气量的咯咯笑声:
$.post('/path/to/url', { "'" + field + "'":value, 'fooString':'barString' });
$.post('/path/to/url', { eval(field):value, 'fooString':'barString' });
Run Code Online (Sandbox Code Playgroud)
我很难过.感谢您提供的任何帮助,甚至只是一个坚定的"不",这样我就可以继续我的生活,知道一个更精通的人,我的背后会受到赞赏.:)
与此问题类似,但更进一步.我想检测一组项目之外的点击,我按以下方式处理:
$('#menu div').live('click', function() {
// Close other open menu items, if any.
// Toggle the clicked menu item.
$('body').one('click', function(event) {
// Hide the menu item.
event.stopPropagation();
});
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,当另一个菜单项打开而另一个菜单项被点击时,这就像一个魅力,它需要两次点击才能打开第二个项目.第一次单击隐藏第一个打开的菜单项,第二个单击显示第二个菜单项.
"正确"行为以下列方式起作用:
我尝试了以下$('body').one()命令来代替上面的命令忽略菜单项的点击而收效甚微:
// Captures click on menu items in spite of the not.
$('*').not('#menu *').one('click', function() { // Hide menu }
$('*:not(#menu)').one('click', function() { // Hide menu }
Run Code Online (Sandbox Code Playgroud)
一如既往,感谢您的帮助!
我在VIM中虔诚地使用水平和垂直窗口分割,直到最近,我很享受两个命令的安慰,以有效地隐藏(或最小化)我的水平分割.我设置它们将以下行添加到我的.vimrc文件中:
set winminheight=0
map <C-J> <C-W>j<C-W>_
map <C-K> <C-W>k<C-W>_
Run Code Online (Sandbox Code Playgroud)
通过向上或向下击中Control-j或Control-k导航水平分割.我想通过使用Control-Shift-h和显示或隐藏左或右分割来实现垂直分割是一回事Control-Shift-l; h向左l移动,向右移动.我尝试过以下几点但没有成功:
set winminwidth=0
map <S-C-L> 500<C-W>h<C-W>_
map <S-C-H> 500<C-W>l<C-W>_
Run Code Online (Sandbox Code Playgroud)
该操作类似于利用Control-w-<和Control-w->仅将垂直分割完全移动到左侧或写入,而不是一次只移动一行.
有关如何实现这一目标的任何想法?谢谢.