4

Vim には、関数間を移動するための "[[" と "]]" ショートカットがあることを知っています。しかし、この機能を C だけでなく Pascal 構文にも追加するにはどうすればよいでしょうか?

4

1 に答える 1

1

一部のファイル タイプでは、組み込みの]]マッピングを再定義して、次の関数の先頭にジャンプします。たとえば、見てください$VIMRUNTIME/ftplugin/vim.vim

" Move around functions.
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
vetlocal foldmethod< foldtext< foldexpr< | delcommand FoldToggle oremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>

同様のマッピング (たとえばbegin/endキーワードへの) を で定義できます~/.vim/after/ftplugin/pascal.vim


これらのマッピングを簡単に設定でき、[count] をサポートし、関数全体を選択するためのテキスト オブジェクトも提供する快適なプラグインが必要な場合は、私のCountJump プラグインをご覧ください。ヘルプには Pascal に関する例もあります。

:call CountJump#Motion#MakeBracketMotion('<buffer>', '', '', '\c^begin\n\zs', '\c^.*\nend', 0)
于 2012-12-21T12:16:54.890 に答える