我刚刚切换到了Vim的Solarized colorscheme,但是我在使颜色正确显示方面遇到了一些麻烦.更正确的描述是说它们看起来甚至不一样.
这是一个比较:


如您所见,区别在于白天和黑夜.
我的iTerm2终端设置:

我认为这可以让我的终端vim使用正确显示Solarized colorscheme所需的所有必要颜色,但显然我错了.有人有个主意吗?
我是一个插件爱好者,除了学习Vim编辑器的时间外,我也尽力掌握它的插件.但是,如果一个插件强迫我忘记了Vim特有的习惯和命令,我通常会尽量避免它们.
这让我想到了EasyMotion的主题.
该插件围绕视觉导航的概念,并为用户提供了几个用户可以跳转的视觉文本标签.
现在我得到的是:这是一个好习惯吗?
因为它确实让我觉得它试图取代一些非常基本的Vim技能和习惯.例如:
由于这种不确定性,这是我已经避免使用的单个安装插件,尽管这种讨论可以在某种程度上轻松应用于大多数插件.
我正在编写这个程序来管理dotfiles并且看起来似乎没有像往常一样,我无法通过Google追踪相关信息.
#!/usr/bin/env ruby
@filename = ''
unless $*[0].nil?
# Storing filename (and adding dot)
@filename = "."+$*[0].to_s
else
# No filename given, exit and print to STDERR
abort("No filename specified")
end
@file_path = File.expand_path("~/#{@filename}")
if File.exists?(@file_path)
print "Enter something: "
gets
puts $_
end
Run Code Online (Sandbox Code Playgroud)
但是,程序在这样的"获取"行崩溃
$ ruby ./link.rb bash_profile
Enter something: /Users/krystah/repos/backpack/dotfiles/link.rb:24:in `gets':
No such file or directory - bash_profile (Errno::ENOENT)
from /Users/krystah/repos/backpack/dotfiles/link.rb:24:in `gets'
from /Users/krystah/repos/backpack/dotfiles/link.rb:24:in `<main>'
Run Code Online (Sandbox Code Playgroud) 根据今天的讲座,第一个循环具有顺序的运行时O(n),而第二个循环具有顺序的运行时O(log(n)).
for (int i = 0; i < n; i++) { // O(n)
stuff(); // O(1)
}
for (int i = 1; i < n; i*=4) { // O(log(n))
stuff(); // O(1)
}
Run Code Online (Sandbox Code Playgroud)
有人可以详细说明原因吗?
我希望使用一条语句清除 URL 字符串的http://和部分。www.
我并不追求神奇的正则表达式解决方案,我只是想知道是否有一种方法可以替换(读取:删除)一个替换语句中的两个单词。
梦境场景:
String url = "http://www.superfect.com";
String[] purge = {"http://", "www."};
url = url.replace(purge, "");
Run Code Online (Sandbox Code Playgroud)
但是,这不会运行。这在 Java 中通常是如何完成的?
我有这个数组:
strings = %w(John likes Pie Diana prefers Cupcakes)
Run Code Online (Sandbox Code Playgroud)
这将是:
strings[0] -> "John"
strings[1] -> "likes"
strings[2] -> "Pie"
strings[3] -> "Diana"
strings[4] -> "prefers"
strings[5] -> "Cupcakes"
Run Code Online (Sandbox Code Playgroud)
我怎样才能把它变成这个?
strings[0] -> "John likes Pie"
strings[1] -> "Diana prefers Cupcakes"
Run Code Online (Sandbox Code Playgroud) 我有 5 个对象,a, b, c。d和e。5 个对象的哈希码如下:
a => 72444
b => 110327396
c => 107151
d => 2017793190
e => 68574749
Run Code Online (Sandbox Code Playgroud)
如您所见,所有都是正值。但是,当我将它们总结为一个long-variable 时,结果为负:
long sum = a+b+c+d+e;
System.out.println(sum); // prints -2098092366
Run Code Online (Sandbox Code Playgroud)
这些整数的总和远低于long(9223372036854775807)的最大值,但它产生了负结果。为什么?
我和其他数百人一样,在我的这些行中.vimrc:
let mapleader = ','
nnoremap <leader>w :w<CR>
Run Code Online (Sandbox Code Playgroud)
当我,w按顺序点击时,它会保存当前缓冲区.
但是,它也执行绑定的操作w,即jump forward by word.
换句话说,当我点击时 ,w,它会保存并向前跳跃一个单词.这有解决方法吗?
更新:
:verbose nmap ,w
产量
n ,w * :w<CR> <Space>,最后设置自〜/ .vimrc.
在Ruby中,我们定义类成员函数
class Dog
def bark
puts "woof"
end
end
Run Code Online (Sandbox Code Playgroud)
我想知道并且在google搜索中彻底失败的是,在Ruby中如何以及在何处定义处理对象数组的方法?
我希望能够做到这样的事情:
dogs = [Dog.new, Dog.new, Dog.new]
dogs.some_function
Run Code Online (Sandbox Code Playgroud)
我如何定义some_function?
注意:我不是在解决特定问题之后,更多的是如何定义这样一个函数的步骤.
我遇到一个问题,其中的调用realloc似乎修改了另一个字符串的内容,keyfile.
它应该运行一个以null结尾char*(密钥文件),其中包含500个以上的字符.然而,问题是reallocation我在while-loop中执行似乎修改了密钥文件的内容.
我尝试删除动态重新分配,realloc并for使用大小200*sizeof(int)而不是初始化-loop中的指针.问题仍然存在,keyfile字符串在(重新)分配内存期间被修改,我不知道为什么.我通过在malloc和realloc语句之前和之后打印keyfile-string来确认这一点.
注意:密钥文件仅包含字符a-z,没有数字,空格,换行符或大写.只有26个小写字母的文字.
int **getCharMap(const char *keyfile) {
char *alphabet = "abcdefghijklmnopqrstuvwxyz";
int **charmap = malloc(26*sizeof(int));
for (int i = 0; i < 26; i++) {
charmap[(int) alphabet[i]] = malloc(sizeof(int));
charmap[(int) alphabet[i]][0] = 0; // place a counter at index 0
}
int letter;
int count = 0;
unsigned char c = keyfile[count];
while (c …Run Code Online (Sandbox Code Playgroud) 我的拦截器没有在应该启动的时候启动,即使它已在 bean 中注册并且文件没有提供任何警告。我缺少什么?
编辑1:我希望能够在每次Genres.java调用和离开函数时进行记录,但使用此配置我根本没有得到任何输出。
编辑 2:按照 Svetlin 的建议应用断点后,我可以确认代码永远不会到达拦截器或生产者。
beans.xml
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1" bean-discovery-mode="all">
<interceptors>
<class>no.krystah.log.LoggingInterceptor</class>
</interceptors>
</beans>
Run Code Online (Sandbox Code Playgroud)
日志拦截器.java
package no.krystah.log;
import javax.inject.Inject;
import javax.interceptor.AroundConstruct;
import javax.interceptor.AroundInvoke;
import javax.interceptor.Interceptor;
import javax.interceptor.InvocationContext;
import org.slf4j.Logger;
@Log @Interceptor
public class LoggingInterceptor {
@Inject
Logger logger;
@AroundConstruct
private void init(InvocationContext ic) throws Exception {
logger.info("Entering constructor");
try {
ic.proceed();
} finally {
logger.info("Exiting constructor");
}
}
@AroundInvoke
public Object logMethod(InvocationContext ic) throws Exception {
logger.info(ic.getTarget().toString()+" - "+ ic.getMethod().getName()); …Run Code Online (Sandbox Code Playgroud)