iOS向けのVimであるiVimをカスタマイズします。
App Storeからインストールできます。
iPad上では、.vimrcは見えません。
あらかじめ作成したファイルをiOS標準のファイル.appでVimフォルダに入れて、iVimにて:!mv vimrc ~/.vimrcなどとしなければならないです。
iVim特有の機能として、:idocでファイル.appを起動させてファイルを操作することもできるので、ベースとなるファイルをiVimで開くこともできます。
:idocにて、otf, ttfのフォントファイルを開くことにより、フォントをインストールすることができます。
利用可能なフォントは、:ifontにより一覧で表示できます。
この機能により、Nerd Fontも導入できます。
.vimrcに使用するフォントを設定します。ifontの後に:ifontで表示されたフォントの番号とサイズを設定します。
1ifont 5 18Vim8 から標準でプラグイン機能が使えます。iVimもVim8ベースなので、プラグイン機能がそのまま使えます。
:!mkdir -p .vim/pack/plugins/startでプラグイン用のディレクトリを作成し、.vim/pack/plugins/startにプラグインのフォルダを入れることにより、Vimの起動時にそのプラグインが読み込まれます。
(上記pluginsの部分は、任意の名称にすることができます。)
iPadで外付けのハードウェアキーボードを使うと、日本語入力の候補表示が見づらいです。
代替の日本語変換としては、skk.vimが動作します。
.vimrcにSKK辞書の場所等を設定します。SKK-JISYO.LはあらかじめUTF-8に変換しておく必要があります。
1"2"  skk.vim3"4let g:skk_large_jisyo = '~/skk/SKK-JISYO.L'5let g:skk_jisyo = '~/skk/skk-jisyo'6let g:skk_auto_save_jisyo = 1Nerd Fontを表示できるようにします。
ステータスラインのカスタマイズプラグインとして、lightline.vimがiVimで動きます。
lightline.vimに関する.vimrcの設定です。
Nerd Fontを使うとステータスラインのセパレーターやアイコンを表示することができます。
tablineの表示やファイルフォーマットのアイコンが表示されるようにしてます。 SKKのモードも表示するようにしてます。
1"2" lightline3"4let g:lightline = {5       \ 'colorscheme': 'iceberg',6       \ 'active': {7       \   'right': [ [ 'lineinfo' ],8       \              [ 'percent' ],9       \              [ 'skkstatus', 'fileformat', 'filetype' ] ]10       \ },11       \ 'component': {12       \    'vim_logo': "\ue7c5",13       \ },14       \ 'tabline': {15       \   'left': [ [ 'vim_logo', 'tabs' ] ],16       \ },17       \ 'component_function': {18       \    'filetype': 'FiletypeWebDevIcons',19       \    'fileformat': 'FileformatWebDevIcons',20       \    'skkstatus': 'Skkgetmode'21       \ },22       \ 'tab_component_function': {23       \     'tabnum': 'TablineWebDevIcons',24       \ },25       \ 'separator': { 'left': "\ue0b0", 'right': "\ue0b2" },26       \ 'subseparator': { 'left': "\ue0b1", 'right': "\ue0b3" },27       \ }2829" ファイルフォーマットがunixのときの既定値30let g:WebDevIconsOS = 'Darwin'3132function! FiletypeWebDevIcons()33  return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : "\uf057") : ''34endfunction3536function! FileformatWebDevIcons()37  return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc . ' ' . WebDevIconsGetFileFormatSymbol(): &enc . ' ' . WebDevIconsGetFileFormatSymbol()) : ''38endfunction3940function! TablineWebDevIcons(n)41  let l:bufnr = tabpagebuflist(a:n)[tabpagewinnr(a:n) - 1]42  return WebDevIconsGetFileTypeSymbol(bufname(l:bufnr))43endfunction4445function! Skkgetmode()46  let _ = SkkGetModeStr()47  return strlen(_) ? substitute(_, '\[\|\]', '', 'g') : ''48endfunction見栄えはこれで大分良くなったと思います。