스크랩과 충돌

3574 단어 vim-rails

묘사

http://stackoverflow.com/questions/9556230/how-to-set-manualy-color-of-params-and-redirect-to-in-vim#comment12127893_9556230
filetype is ruby.rails 와 내가 그것을 set filetype=ruby 문법으로 바꾸었을 때, 그것은 유효했다.
그런데 제 ultisnips는 rails 부분을 식별할 수 없어요. 이 두 가지를 어떻게 비교합니까??

토론 #1

문제는 모든 코드 세션 플러그인은 파일 형식이 코드 세션의 유일한 유효한 그룹이라고 주장한다.이것은 "rails"위조 파일 형식의 이상한 생성을 초래했습니다.제 입장은 #134입니다.
rails에서 이 문제를 해결하고 싶은 사람이 있다면 말이다.윌, 나는 반대하지 않아.기본적으로 너는 조건을 바꿔야 한다. 예를 들어
if &filetype == 'ruby'
마치... 와 같다
if &filetype =~# '^ruby\>'
녀석들을 모두 구해야 하오.검색\<ruby\>부터 시작합니다.팀, Ulti Snips의 저자입니다.나는 이런 혼란을 피하기 위해 코드 세션을 파일 형식 옆으로 나누는 더 좋은 방법에 관심이 있다.무슨 건의가 있습니까?rails에 사용할 Vim 변수를 추가할 수 있습니다.vim는 설정하거나 수정할 수 있습니다. ultisnips는 이해할 수 있지만, 이것은 ultisnips의 특정한 공격입니다.당신은 더 좋은 건의가 있습니까?

토론 #2

@SirVer 이상적인 해결 방안은 현재 버퍼에 세션을 정의하는 명령일 뿐이라고 생각합니다.줄임말의 작업 원리와 매우 비슷하다.모든 루비 파일의 줄임말을 정의하려면 이렇게 할 수 있습니다
autocmd FileType ruby abbrev <buffer> AR ActiveRecord
그렇다면 Rails 프로젝트에서 이를 실현하는 것은 Rails로 간단하게 전환하는 것이다.vim 자동 명령:
autocmd User Rails abbrev <buffer> AR ActiveRecord
내 생각에 이곳의 문제는 코드 세션이 왕왕 여러 줄이기 때문에 Vim 명령 문법에 적응하기 어렵다는 것이다.이 제한을 감안하면, 가장 좋은 절충 해결 방안은 파일 형식에 의존하지 않고, 어떤 명령을 사용하여 코드 세션을 현재 버퍼에 불러오는 것이다.이것은 간단한 탈선을 실현할 것이다.
autocmd User Rails UltiSnipsLoad rails
귀신이 곡할 노릇이군, 나는 rails에서 보내는 것을 반대하지 않아.vim가 자동으로 시작됩니다.
추가 정교한 생각: 임의의 경로에서 불러올 수 있습니다.이것은 항목에 특정한 코드 세그먼트를 사용합니다.예를 들면 다음과 같습니다.
autocmd User Fugitive UltiSnipsLoad `=fugitive#repo().tree('.project.snippets')`

토론 #셋

네, ultisnips 오류 추적기[1]에 이 아이디어에 오류 보고서를 추가했습니다.나는vim 옵션과 같은 버퍼 부분 변수를 더 좋아한다고 생각한다. 따라서 우선순위를 파일 형식과 연결할 수도 있다.항목별 코드 세그먼트는 지원되지만 명명 규칙[2]을 따라야 합니다.생각 고마워, 팀!UltiSnips에서 이 작업을 수행할 때 알려 드리겠습니다.
[1] https://bugs.launchpad.net/ultisnips/+bug/950033
[2] https://answers.launchpad.net/ultisnips/+ 질문/187062

토론 #4

듣기 좋네요.단, 나는 당신이 포장기 명령을 사용하는 것을 고려하길 바랍니다.하면, 만약, 만약...
if &filetype =~# '^ruby\>'
  let b:UtilSnips_Filetypes = ['ruby', 'rails']
endif
만약 내가 이렇게 한다면 나는 사용자의 선호를 깨뜨릴 수 있다
if &filetype =~# '^ruby\>' && exists('b:UltiSnips_Filtetypes')
  let b:UtilSnips_Filetypes += ['rails']
endif
나는

토론 #5

에서

토론 #6

복제할 수 있으며, 특히 다시 불러올 때.'rails' 나는 이 점을 기억할 것이다.b:UtilSnips_Filetypes 팀, 내가 방금 이 패치를 밀었어.이제 UltiSnips에 새 명령이 정의되었습니다.비엠레일스는 이렇게 불러야 한다고 생각해요.
:UltiSnipsAddFiletypes rails.루비
모든 rails 버퍼에 대해이것은 확장할 때 rails와 루비 코드 세그먼트를 고려하고, rails 코드 세그먼트는 루비 코드 세그먼트를 덮어쓸 수 있도록 합니다.또한 UltiSnipEdit에서 rails를 엽니다.기본적으로 편집에 사용되는 코드 세그먼트입니다.이거 rails에 넣어도 돼요?윌?한번 해볼게요.저는 당연히 루비 파일에서 사용할 수 있습니다.

토론 #7

맞습니까?
그들에게 전화하는 것

토론 #8

은 여전히 옳지 않지만, 나는 이런 불협화음을 용인하고 싶다.

토론 #9

I can give it a go. Surely I can just do :UtilsSnipsAddFiletypes rails in ruby files, right? Yep. Though it should not be needed as the UltiSnips also reacts on the FileType autocommand. But it does no harm at all

:UtilsSnipsAddFiletypes rails 완성, 완성.Filetypes 다행이다, 고마워, 팀!

좋은 웹페이지 즐겨찾기