config/rails에서navcommands를 정의할 때 샌드박스에서 허용되지 않습니다.윌

6388 단어 vim-rails

묘사

안녕!
프로젝트에 특정한navcommands(내가 이전에 참여한 세 개의 메인 js 프로젝트는 저장 모델/시도/집합에 있어서 서로 다른 약속이 있기를 바란다).
config/rails를 만들었습니다.vim 파일 및 navcommand 정의를 배치합니다.
autocmd User Rails Rnavcommand jcollection app/assets/javascripts/backbone/collections/ -glob=**/* -suffix=.js.coffee                                                         
autocmd User Rails Rnavcommand jmodel app/assets/javascripts/backbone/models/ -glob=**/* -suffix=.js.coffee                                                                   
autocmd User Rails Rnavcommand jview app/assets/javascripts/backbone/views/ -glob=**/* -suffix=.js.coffee                                                                     
autocmd User Rails Rnavcommand jrouter app/assets/javascripts/backbone/routers/ -glob=**/* -suffix=.js.coffee                                                                 
autocmd User Rails Rnavcommand template app/assets/javascripts/backbone/templates/ -glob=**/* -suffix=.hbs
vim을 시작하는 동안 다음 오류가 발생했습니다.
Error detected while processing /home/jumski/work/ebookmakr/config/rails.vim:                                                                                                 
line    3:                                                                                                                                                                    
E48: Not allowed in sandbox: autocmd User Rails Rnavcommand admin app/admin/ -suffix=.rb
너는 이것이 가능한지 아닌지 아니?
어디에서 해결 방안을 찾습니까?
미리 감사

토론 #1

이 문제 는 나 에게 매우 중요 한 문제 다.우선, 해결 방법:
autocmd User Rails exe 'source ' .
      \ fnameescape(rails#app().path('config/myunsafecommands.vim'))
기본적으로 :sandbox source config/rails.vim은 거친 망치로 모든 항목의 배치를 안전하게 제공할 수 있도록 허용하는 문제에 대해 흔들리고 있다.나는 :sandbox을 포기하고 임의의 코드를 실행할 수 있도록 허락하는 것은 좋은 생각이 아니라고 생각한다.
가장 좋은 해결 방안은 config/vim.json 또는 유사한 파일(JSON, Vim에서 해석하기 쉽기 때문)이 될 수 있다고 생각합니다.
{
  "navcommands": {
    "jcollection": {
      "path": "app/assets/javascripts/backbone/collections",
      "glob": "**/*",
      "suffix": ".js.coffee",
    }
  }
}
네비게이션 코드는 이미 매우 낡았다. (그것은 여전히 Vim 6 호환성으로 작성된 것이다. 으) 그래서 나는 줄곧 이 문제를 해결하고 싶지 않았다.나도 너처럼 갖고 싶어.

토론 #2

네, 처음 통과했습니다.config/rails.vim에서 어리석은 데이터 구조를 사용했다.자세한 내용은 변경될 수 있습니다.돌려봐!

토론 #셋

너무 좋아요!
즉시 테스트하고 싶어서 rails vim을 업데이트했고 다음 내용을 config/rails.vim에 넣었습니다.

let b:rails_file_types = {
      \ 'jmodel': {
      \   'prefix': ['app/assets/javascripts/backbone/models'],
      \   'suffix': '.js.coffee',
      \   'affinity': 'model'}}
보아하니 그것은 출처가 없는 것 같다. :Rjmodel은 일하지 않는다. 나는 let b:rails_file_types으로 이 변수를 검사할 수 없다
우선,neo bundle가 뭔가를 망쳤을 수도 있다고 생각합니다. 저는vim rails의 최신 제출을 하지 않았지만 :help rails을 통해 최신 버전이 있다는 것을 확인했기 때문에 다른 곳에서 문제가 생겼다고 생각합니다.
무슨 생각 있어요?
감사합니다!
Wojtek

토론 #4

에서 새로운 Vim 인스턴스를 시도합니다.
2013년 1월 5일 토요일 오후 2:22, Wojtek [email protected]:

Great!

Wanted to test it immediately, so I updated my rails-vim and put following into config/rails.vim:

let b:rails_file_types = { \ 'jmodel': { \ 'prefix': ['app/assets/javascripts/backbone/models'], \ 'suffix': '.js.coffee', \ 'affinity': 'model'}}

It looks like it is not sourced, :Rjmodel is not working and i cannot inspect this variable with let b:rails_file_types

First i thought maybe neo-bundle fucked something up and i do not have recent commits for vim-rails, but looking into :help rails I have confirmed that i have recent version, so I assume problem is somewhere else.

Do you have any ideas? Thanks! Wojtek

— Reply to this email directly or view it on GitHubhttps://github.com/tpope/vim-rails/issues/195#issuecomment-11918366.

토론 #5

오, 더 가능한 해석.모뎀을 사용해야 합니다.:verbose set modeline?에서 뭘 보고했어?

토론 #6

그것은 모형의 물건이다.
지금 모든 것이 저주 같다.
감사합니다:)

토론 #7

은 다른 방법을 사용하기로 결정했습니다.https://github.com/tpope/vim-rails/commit/8d10657107f56f19c9010cfb12c8705d101452e0config/rails.vim의 방법은 현재 여전히 유효하지만, 나는 그것을 끌어내릴 수 있다.

토론 #8

aa 및 분류의 이름을 투영으로 변경합니다.나는 분류하는 것을 좋아하지 않는다. 분류는 나로 하여금 OO류를 생각하게 한다.

토론 #9

im에서 구성/환경을 만들고 있습니다.rb와 config/editor.미친 듯이비rails 프로젝트에도 사용
감사합니다:)

토론 #10

예, 이 안에는 틀림없이 다른 플러그인이 숨겨져 있습니다. 이것이 바로 제가 :Rmodel에서 :Emodel, :RSmodel에서 :Smodel까지의 느린 과도를 시작한 이유입니다.Rails가 아닌 애플리케이션에서 R을 사용할 이유가 없습니다.

토론 #11

annd 형식과 파일 이름을 완전히 변경했습니다.만약 당신이 이전을 시도할 수 있다면, 저에게 당신이 어떤 문제가 있는지 알려주시면, 저는 감격해 마지 않을 것입니다.만약 문서가 분명하다면, 너는 아주 좋은 테스트가 될 것이다.비록 좀 지루하지만, 이것은 단도직입적이어야 한다.
그것은 뒤로 호환되기 때문에 모든 항목을 한 번에 전환할 필요가 없다.

토론 #12

에서 제 주요 프로젝트의 editor.json을 방금 이전했습니다.editor.jsonprojections.json (정의되지 않은 명령) 으로 바꾸면 작동하지 않지만, 옛 이름과 함께 사용할 수 있습니다. (물론, 기조를 재정립한vim rails:)
문서에 추가할 점은 예측과 관련된 모든 내용을 json의 루트 projections키에 두어야 한다는 것이다. 아직 초보자에게는 명확하지 않기 때문에 추측해야 한다.나는 다른 문제를 발견하지 못했다.
이전은 매우 간단한 것 같다.이 물건은 수백 번의 버튼을 진동시키고 저장할 수 있는데, 내가 무슨 말을 할 수 있겠는가? 나는 정말 그것을 좋아한다. 고맙다:)

토론 #13

당신이 projections.json을 사용할 때, 그것은 투영 키 아래에 있지 않을 것이다.이것은 아마도 그것이 너에게 적합하지 않은 원인일 것이다.

토론 #14

하하.확인:)

토론 #15

Hmpf config/editor에서 마이그레이션하는 동안 비슷한 문제가 발생했습니다.json에서 config/projections로 이동합니다.json
https://gist.github.com/74a1c50f75c34b27364a
투영은 로드되지 않았을 뿐입니다 -: 울음:
(나는 자제와vim를 통해 새로운vim-를 설치했다rails@master)

토론 #16

헤이!
사용하는 문법은vim lang입니다. 이것을vimrc에 넣을 수 있습니다.config/projections.json을 사용하려면vim 변수가 아닌 순수한 json 대상을 사용하십시오

좋은 웹페이지 즐겨찾기