如果我有2个水平/垂直分割的缓冲区并想要关闭其中一个,但我不想关闭一个窗口.我想保持分割窗口的位置与关闭缓冲区之前相同.
如果我按下:bd,关闭缓冲区的窗口也会关闭.
我有一个JSON结构,我想匹配一个嵌套元素,而忽略其他数据.JSON看起来像这样(最低限度):
{
"employee": {
"id": 1,
"jobs_count": 0
},
"messages": [ "something" ]
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在正在使用的:
response_json = JSON.parse(response.body)
expect(response_json).to include("employee")
expect(response_json["employee"]).to include("jobs_count" => 0)
Run Code Online (Sandbox Code Playgroud)
我想做的是:
expect(response_json).to include("employee" => { "jobs_count" => 0 })
Run Code Online (Sandbox Code Playgroud)
不幸的是,include
除了简单的顶级密钥检查(至少使用该语法)之外,还需要完全匹配任何内容.
有没有办法部分匹配嵌套哈希而忽略结构的其余部分?
尝试使用rvm安装ruby时出现以下错误:
$rvm install 1.9.3
Searching for binary rubies, this might take some time.
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system..................................................................................................
Error running 'requirements_debian_update_system ruby-1.9.3-p448',
please read /home/troy/.rvm/log/1379872584_ruby-1.9.3-p448/update_system.log
Requirements installation failed with status: 100.
Run Code Online (Sandbox Code Playgroud)
你能帮我解决这个问题吗?
我正在使用factory_boy来创建测试夹具.我有两个简单的工厂,由SQLAlchemy模型支持(简化如下).
我希望能够AddressFactory.create()
多次调用,并且Country
如果它还不存在则创建它,否则我希望它重新使用现有记录.
class CountryFactory(factory.Factory):
FACTORY_FOR = Country
cc = "US"
name = "United States"
class AddressFactory(factory.Factory):
FACTORY_FOR = Address
name = "Joe User"
city = "Seven Mile Beach"
country = factory.SubFactory(CountryFactory, cc="KY", name="Cayman Islands")
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何设置这些工厂,以便factory_boy每次创建地址时都不会尝试创建新的国家/地区?
今天我只想在我的Mac上设置一个jekyll博客,并且已经安装了ruby 2.3.0,但是当make'$ jekyll serve'时,这是错误的.并在终端显示:
错误信息:
Unknown ruby interpreter version (do not know how to handle): RUBY_VERSION.
Run Code Online (Sandbox Code Playgroud) 有没有办法告诉Jenkins(2.2)删除已删除分支的作业?目前,我的构建监视器填满了分支,因为作业未被删除.是否有触发此行为的设置或应将其作为错误提交?
在Vim中有没有办法在命令行上粘贴搜索寄存器,但没有周围的\<
括号\>
?我经常发现自己在缓冲区中进行搜索,然后想要使用匹配的模式作为参数grep
(更具体地说,ack.vim).
如果您搜索foo
然后输入:Ack '<C-r>/
' ,会发生以下情况:
:Ack '\<foo\>'
Run Code Online (Sandbox Code Playgroud)
这将无法找到任何东西.我想要的是:
:Ack 'foo'
Run Code Online (Sandbox Code Playgroud)
这当然是一个简单的例子.对于更复杂的搜索结果,这将更有价值.
我知道<C-r><C-w>
并且<C-r><C-a>
在光标下粘贴单词/ WORD,这些通常就足够了,但并非总是如此.
我使用一个小脚本来触发插入模式,以便更改行号颜色:
function! CursorLineNrColorInsert(mode)
" Insert mode: blue
if a:mode == "i"
highlight CursorLineNr ctermfg=4
highlight CursorLineNr guifg=#268bd2
" Replace mode: red
elseif a:mode == "r"
highlight CursorLineNr ctermfg=1
highlight CursorLineNr guifg=#dc322f
else
highlight CursorLineNr ctermfg=0
highlight CursorLineNr guifg=#073642
endif
endfunction
autocmd InsertEnter * call CursorLineNrColorInsert(v:insertmode)
autocmd InsertLeave * highlight CursorLineNr ctermfg=0
autocmd InsertLeave * highlight CursorLineNr guifg=#073642
Run Code Online (Sandbox Code Playgroud)
当我进入任何插入模式并在正常模式下恢复为原始颜色时,这非常正常并且会立即更改我的行号.
我想对视觉模式做同样的事情:
function! CursorLineNrColorVisual(mode)
" Visual mode: orange
if mode()=~#"^[vV\<C-v>]"
highlight CursorLineNr ctermfg=9
highlight CursorLineNr guifg=#cb4b16
else
highlight CursorLineNr ctermfg=0
highlight …
Run Code Online (Sandbox Code Playgroud) 有没有人有一个插件或宏替换匹配{
括号}
与do
和end
Vim中?最好像这样转换单行语句:
foo.each { |f| f.whatever }
Run Code Online (Sandbox Code Playgroud)
成:
foo.each do |f|
f.whatever
end
Run Code Online (Sandbox Code Playgroud)
我可以自己为这个案例制作一个宏,但是我想要一些能够处理转换现有的多行,可能很复杂的块的东西,比如:
foo.each { |f|
f.bars.each { |b| b.whatever }
hash = { a: 123, b: 456 }
}
Run Code Online (Sandbox Code Playgroud)
成:
foo.each do |f|
f.bars.each { |b| b.whatever }
hash = { a: 123, b: 456 }
end
Run Code Online (Sandbox Code Playgroud)
我看过vim-surround和rails.vim,还没找到方法.
vim ×5
ruby ×3
buffer ×1
factory-boy ×1
git ×1
javascript ×1
jenkins ×1
jenkins-2 ×1
python ×1
rspec ×1
rvm ×1
sqlalchemy ×1
triggers ×1
ubuntu ×1