vim-smartinput도 대체 세션으로 설정할 수 없습니다.

4670 단어 Vim
문법 등을 통제하는 기술에는 단편을 이용하는 사람이 많을 것 같다.
그러나 나는 스니페트가 유연하게 설정하기 어렵다고 생각한다. (예를 들어class의 유무) 지금은 익숙하게 사용할 수 없다.
더 정형화된 스타일, 허가증의 글씨체, 그런 곳은 애완동물에게 맡기는 것이 좋지만, 작은 문법 등은 손으로 때리는 것이 빠르다.
하지만 고정된 기술이라면 최대한 편하고 싶어요.그래서 요즘은 smartinput 설정을 강화하고 있어요.
smartinput는 inomap [] []<Left> 이런 설정을 더욱 좋게 만드는 오징어 백양을 가리킨다.넣기만 하면 기본 설정에 들어갈 수 있어 편리하지만 사용감이 크게 바뀌어 호불호가 갈리는 플러그인인 것 같다.
Python을 자주 사용하기 때문에 아래 설정을 추가했습니다.
" classとかの定義時に:までを入れる
call smartinput#define_rule({
\   'at'       : '^\s*\%(\<def\>\|\<if\>\|\<for\>\|\<while\>\|\<class\>\|\<with\>\)\s*\w\+.*\%#',
\   'char'     : '(',
\   'input'    : '():<Left><Left>',
\   'filetype' : ['python'],
\   })
" が、すでに:がある場合は重複させない. (smartinputでは、atの定義が長いほど適用の優先度が高くなる)
call smartinput#define_rule({
\   'at'       : '^\s*\%(\<def\>\|\<if\>\|\<for\>\|\<while\>\|\<class\>\|\<with\>\)\s*\w\+.*\%#.*:',
\   'char'     : '(',
\   'input'    : '()<Left>',
\   'filetype' : ['python'],
\   })
" 末尾:の手前でも、エンターとか:で次の行にカーソルを移動させる
call smartinput#define_rule({
\   'at'       : '^\s*\%(\<def\>\|\<if\>\|\<for\>\|\<while\>\|\<class\>\|\<with\>\)\s*\w\+.*\%#:$',
\   'char'     : ':',
\   'input'    : '<Right><CR>',
\   'filetype' : ['python'],
\   })
call smartinput#define_rule({
\   'at'       : '^\s*\%(\<def\>\|\<if\>\|\<for\>\|\<while\>\|\<class\>\|\<with\>\)\s*\w\+.*\%#:$',
\   'char'     : '<CR>',
\   'input'    : '<Right><CR>',
\   'filetype' : ['python'],
\   })
이렇게 되면 함수 선언 같은 때의 입력 감각이 좋아질 것이다.
약간의 느낌의 설정이지만 이런 게 좋아요.ffhoge(): 이렇게 하면 하루에 100번 이상 써야 하기 때문에 이곳에서 편안하면 장래의 건초염 위험에 대비할 수 있습니다.
gif

좋은 웹페이지 즐겨찾기