在将以下内容映射为一个简单的组合键后,以下内容对我来说非常有用:
在浏览文件路径时跳转到文件中
gf
获取现有文件的完整路径名
:r!echo %:p
获取现有文件的目录
:r!echo %:p:h
运行代码:
:!ruby %:p
ruby的缩写:
ab if_do if end<esc>bi<cr><esc>xhxO
ab if_else if end<esc>bi<cr><esc>xhxO else<esc>bhxA<cr> <esc>k$O
ab meth def method<cr>end<esc>k<esc>:s/method/
ab klas class KlassName<cr>end<esc>k<esc>:s/KlassName/
ab mod module ModName<cr>end<esc>k<esc>:s/ModName/
运行当前程序:
map ,rby :w!<cr>:!ruby %:p<cr>
检查当前程序的语法:
map ,c :w!<cr>:!ruby -c %:p<cr>
运行当前规格程序的所有规格:
map ,s :w!<cr>:!rspec %:p<cr>
把它打开:
map ,i :w!<cr>:!irb<cr>
rspec缩写:
ab shared_examples shared_examples_for "behavior here" do<cr>end
ab shared_behavior describe "description here" do<cr> before :each do<cr>end<cr>it_should_behave_like "behavior here"<cr><bs>end<cr>
ab describe_do describe "description here" do<cr>end
ab context_do describe "description here" do<cr>end
ab it_do it "description here" do<cr>end
ab before_each before :each do<cr>end<cr>
rails的缩写:
用户认证:
ab userc <esc>:r $VIMRUNTIME/Templates/Ruby/c-users.rb<cr>
ab userv <esc>:r $VIMRUNTIME/Templates/Ruby/v-users.erb<cr>
ab userm <esc>:r $VIMRUNTIME/Templates/Ruby/m-users.rb<cr>
在firefox中打开可视化选择的url:
"function
function open_url_in_firefox:(copy_text)
let g:open_url_in_firefox="silent !open -a \"firefox\" \"".a:copy_text."\""
exe g:open_url_in_firefox
endfunction
"abbreviations
map ,d :call open_url_in_firefox:(expand("%:p"))<cr>
map go y:call open_url_in_firefox:(@0)<cr>
Rspec:运行包含当前行的规范:
"function
function run_single_rspec_test:(the_test)
let g:rake_spec="!rspec ".a:the_test.":".line(".")
exe g:rake_spec
endfunction
"abbreviations
map ,s :call run_single_rspec_test:(expand("%:p"))<cr>
Rspec-rails:包含当前行的运行规范:
"function
function run_single_rails_rspec_test:(the_test)
let g:rake_spec="!rake spec SPEC=\"".a:the_test.":".line(".")."\""
exe g:rake_spec
endfunction
"abbreviations
map ,r :call run_single_rails_rspec_test:(expand("%:p"))<cr>
Rspec-rails:运行规范包含当前行调试:
"function
function run_spec_containing_current_line_with_debugging:(the_test)
let g:rake_spec="!rake spec SPEC=\"".a:the_test.":".line(".")." -d\""
exe g:rake_spec
endfunction
"abbreviations
map ,p :call run_spec_containing_current_line_with_debugging:(expand("%:p")) <cr>
html
"abbreviations
"ab htm <html><cr><tab><head><cr></head><cr><body><cr></body><cr><bs><bs></html>
ab template_html <script type = 'text/template' id = 'templateIdHere'></script>
ab script_i <script src=''></script>
ab script_m <script><cr></script>
ab Tpage <esc>:r ~/.vim/templates/pageContainer.html<cr>
ab Ttable <esc>:r ~/.vim/templates/listTable.html<cr>
"function to render common html template
function html:()
call feedkeys( "i", 't' )
call feedkeys("<html>\<cr> <head>\<cr></head>\<cr><body>\<cr> ", 't')
call feedkeys( "\<esc>", 't' )
call feedkeys( "i", 't' )
call include_js:()
call feedkeys("\<bs>\<bs></body>\<cr> \<esc>hxhxi</html>", 't')
endfunction
javascript
"jasmine.js
"abbreviations
ab describe_js describe('description here', function(){<cr>});
ab context_js context('context here', function(){<cr>});
ab it_js it('expectation here', function(){<cr>});
ab expect_js expect().toEqual();
ab before_js beforeEach(function(){<cr>});
ab after_js afterEach(function(){<cr>});
"function abbreviations
ab fun1 function(){}<esc>i<cr><esc>ko
ab fun2 x=function(){};<esc>hi<cr>
ab fun3 var x=function(){<cr>};
"method for rendering inclusion of common js files
function include_js:()
let includes_0 = " <link type = 'text\/css' rel = 'stylesheet' href = '\/Users\/johnjimenez\/common\/stylesheets\/jasmine-1.1.0\/jasmine.css'\/>"
let includes_1 = " <link type = 'text\/css' rel = 'stylesheet' href = '\/Users\/johnjimenez\/common\/stylesheets\/screen.css'\/>"
let includes_2 = "<script type = 'text\/javascript' src = '\/Users\/johnjimenez\/common\/javascripts\/jquery-1.7.2\/jquery-1.7.2.js'><\/script>"
let includes_3 = "<script type = 'text\/javascript' src = '\/Users\/johnjimenez\/common\/javascripts\/underscore\/underscore.js'><\/script>"
let includes_4 = "<script type = 'text\/javascript' src = '\/Users\/johnjimenez\/common\/javascripts\/backbone-0.9.2\/backbone.js'><\/script>"
let includes_5 = "<script type = 'text\/javascript' src = '\/Users\/johnjimenez\/common\/javascripts\/jasmine-1.1.0\/jasmine.js'><\/script>"
let includes_6 = "<script type = 'text\/javascript' src = '\/Users\/johnjimenez\/common\/javascripts\/jasmine-1.1.0\/jasmine-html.js'><\/script>"
let includes_7 = "<script>"
let includes_8 = " describe('default page', function(){ "
let includes_9 = "it('should have an html tag', function(){ "
let includes_10 = " expect( $( 'head' ).html() ).not.toMatch(\/^[\\s\\t\\n]*$\/);"
let includes_11 = "});"
let includes_12 = "});"
let includes_13 = "$(function(){"
let includes_14 = "jasmine.getEnv().addReporter( new jasmine.TrivialReporter() );"
let includes_15 = "jasmine.getEnv().execute();"
let includes_16 = "});"
let includes_17 = "\<bs>\<bs><\/script>"
let j = 0
while j < 18
let entry = 'includes_' . j
call feedkeys( {entry}, 't' )
call feedkeys( "\<cr>", 't' )
let j = j + 1
endwhile
endfunction
"jquery
"abbreviations
ab docr $(document).ready(function(){});
ab jqfun $(<cr>function(){<cr>}<cr>);