「トリガー」文字を入力せずに、カーソルが特定の場所で挿入モードで終了するように、Vimで複数行の省略形をトリガーしたいと思います。
私はほぼそこにいますが、それを達成できていません。
これまでのところ、_vimrc に以下を追加しました。
" eat characters after abbreviation
function! Eatchar(pat)
let c = nr2char(getchar(0))
return (c =~ a:pat) ? '' : c
endfunction
iabbr <silent> if if ()<left><C-R>=Eatchar('\s')<CR>
:iabbr <silent> rfF <- function( )<CR>{<CR> <CR>}<Esc>3k$h<Insert><c-r>=Eatchar('\m\s<bar>/')<cr>
rfF Ctr-]
これは、略語の展開をトリガーするために入力すると、次のようになるという点で、ほとんど成功しています。
<- function( )
{
}
ただし、略語をトリガーする方法によって結果は異なります。
ブラケット間のスペースでトリガーすると、<space>
次のように拡張されます。
<- function( )
{
}
...そしてもし私が<CR>
:
<- function(
)
{
}
私は最近、略語をトリガーする文字が単一行のケースに追加されないようにすることについて質問し、回答しました。
これは複数行の略語で可能ですか?