자동 로드의 재매핑
3686 단어 vim-repeat
묘사
vim-repeat
에서 함수를 정의하고 /autoload
에서 맵을 정의하면 /plugin
덮어쓴 키는 vim-repeat
에서 다시 맵을 만들 수 있습니다 (예를 들어 .vimrc
.이렇게 하면
<ctrl-r>
에 대한 첫 번째 호출은 덮어쓰기 repeat#set()
키입니다.예를 들어 사용자가 처음 vim-repeat
(예를 들어 플러그인) 중복 맵을 사용할 때 이런 상황이 발생한다.만약
vim-repeat
vim-repeat
에서 그 맵을 정의하여 (대부분의 플러그인처럼) 사용자가 이 키들을 맵할 수 있도록 한다면, 어떻습니까?이렇게 비추기 전에 인공/plugin
(이것도 파괴silent! call repeat#set("\<key>",1)
기능을 필요로 하지 않는다).이와https://github.com/tpope/vim-repeat/issues/22및https://github.com/tpope/vim-repeat/issues/19
autoload
네가 원한다면 토론 #1
너 자신도 할 수 있다.또는runtime! autoload/repeat.vim
에서 덮어쓰기를 정의합니다.파일을 분할하는 것은 설치 편의성의 작은 손실과 바꾸기 위해 덮어쓰기 편의성의 아주 작은 이득인 것 같다.나는 내가 배에 있지 않다고 생각한다.after/autoload/repeat.vim
알려줘서 고마워토론 #2
!참고: 키를after/autoload/repeat.vim
및 .vimrc
에 두 번 다시 매핑해야 합니다.(첫 번째 옵션after/autoload/repeat.vim
은 두 번째 옵션runtime! autoload/repeat.vim
과 일치하지 않습니다.)설치 편의성의 현재 수익은 어디에 있습니까? 이 두 가지 방법(그리고 모든 다른 일반적인 설치 방법)은 유지되지 않습니다
autoload
?동시에, 이와 관련된 각종 문제 및 카나의 포크https://github.com/kana/vim-repeat
cd ~/.vim/bundle && git clone git://github.com/tpope/vim-repeat.git
에 맵을 설정해야 한다는 것은 사용자의 편의성에 대한 손실이 공인된 것보다 크다는 것을 나타낸다.runtime! autoload/repeat.vim
등등 다른 모든 것을 무시하고 플러그인으로 이동하면 어떤 문제를 해결할 수 있습니까?vimrc 이후에도 플러그인은 불러옵니다.토론 #셋
방금 검사한 거 맞아요.나는 그것들을 토론 #4
위의after\vimrc.vim
에 놓았다.그럼에도 불구하고, 이것은 대부분의 다른 플러그인에 부합될 것이다. 조 시모는 그것을 어떻게 처리해야 할지 모른다.하나의 해결 방안은
VimEnter
재맵을 검사하는 것입니다. 자동 불러오는 중에도 실행할 수 있지만 vim-repeat
에만 실행할 수 있습니다.절충 방안으로서 U
가 아직 비치지 않았을 때만 <plug>...
를 통해 모든 키를 비치는 것은 어떻습니까?제 방법은 쓰는 거예요.
execute 'nnoremap <script> <SID>CtrlR '.(maparg('<C-R>','n') == "" ?
\ '<C-R>' : maparg('<C-R>', 'n'))
nmap U <SID>CtrlR
nnoremap <c-r> <c-l>
<plug>...
에서는 after/vimrc.vim
의 첫 번째 호출이 실패한 것을 알아차렸다.나는
repeat#set(...)
에 대한 열정이 너무 급하다. 나는 이것이 합리적인 해결 방법이라고 생각한다.너는 이것이 너에게 유용하다는 것을 볼 수 있니?여기서는 효과가 없다.after/autoload/repeat.vim
프로그램에서nnoremap <C-R> <C-L>
있었지만~/.vim/after/autoload/repeat.vim
프로그램에서:verb nmap <c-r>
n <C-R> * :<C-U>call repeat#wrap("\<C-R>",v:count)<CR>
Last set from ~/.config/.vim/plugged/vim-repeat/autoload/repeat.vim
그 후repeat#set(...)
.그렇게 지도 모른다, 아마, 아마...autocmd SourceCmd repeat.vim source <file> | ...
간단히 말하면 토론 #5
가vim-surround
비추기를 사용하고 <plug>...
비추지 않았을 때만 다시 쓰기가 더욱 편리합니다.<plug>...
필요한 경우 재매핑 수표를 추가할 수 있습니다.이것은 여전히 플러그인 분리를 지원하는 이유가 아니다.기타 문제 해결 방법:
- 수동 설치가 계속되고 있습니다.나조차도 가끔씩 이렇게 한다. 예를 들어Git가 없는 서버에서.내가 말한 바와 같이 이것은 그리 대단한 일이 아니지만, 여전히 현재 설정된 작은 우세이다.
- 128줄의 파일에 대해 이야기할 때, '자동 마운트 포인트' (더 빠른 시작을 가리키는 것 같다) 는 기본적으로 무시할 수 있다.
-
토론 #6
기술이 실패할 수 있는 원인은 include-guard에 대한 오류 검출, 플러그인 현식 호출after
(runtime autoload/repeat.vim
이 아니라) 또는 오류runtime!
, 'runtimepath'
파일을 실제 플러그인 앞에 두는 것이다.
Reference
이 문제에 관하여(자동 로드의 재매핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-repeat/issues/40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)