iPadでVim

iPad で iVim はどこまで使えるのか?

非常に優秀なモバイル端末として、iPad / iPad Pro があります。

Apple iPad Pro (11インチ, Wi-Fi, 1TB) - シルバー(第1世代)
Apple iPad Pro (11インチ, Wi-Fi, 1TB) - シルバー(第1世代)がパソコン・周辺機器ストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

この iPad / iPad Pro で Vim を使うには、こちらを利用するのが最善です。

‎iVim
‎iVim is a project that brings the vim editor to the iOS system. It is open source, please visit the App Support URL. Font management Besides some system and...

このことは、こちらの記事でも紹介しています。

しかし、どこまで本気で使えるのかは未知数な印象で、あまり使い込んでいない人も多いのではないでしょうか。

そこで、この記事では iVim で実用的にどこまで利用できるのか、一例としてご紹介していきます。

ファイルの受け渡し

メーラーなどの他のアプリへ作成したファイルを添付したい場合など、色々とファイルとしてやりとりしたいことがあると思います。その場合は、次の2つの方法を取ることになります。

1. コピー&ペースト

単なるテキストエディタと考え、コピー&ペーストによって他のアプリとやり取りができます。

その際、iVim独特の部分として、iOS/iPadOSのクリップボードと無名レジスタは同期している点が挙げられます。そのため、操作は下記の通りです。

モードキー操作実行機能
ノーマルモードyコピー
ノーマルモード“*p
“+p
ペースト
挿入モードCtrl-“ *
Ctrl-“ +
ペースト

2. 「ファイル」アプリ

長いファイルや複数ファイルになると、コピー&ペーストでは煩わしいです。そうなると、「ファイル」アプリで直接取り出すことになります。

「ファイル」アプリで「このiPad内」の「iVim」を開きます。

iVim on File アプリ
iVim on File アプリ

そうすると、iVim で開くホームディレクトリが表示されます。

iVim ホームディレクトリ

ドットファイルなどの隠しファイル/隠しディレクトリは見えないので注意しましょう。

3. HTTP経由

curlコマンドは用意されているので、curl経由でGET/POSTすることは可能です。例えば、iVimから利用するコマンドは次の通りです。

:!curl -k -O {URL}

この方法で圧縮ファイルなどをダウンロードすることがあるはずです。その際、TAR/GZIP/BZIP2が使えるため、多少いろいろできるはずです。

注意

残念ながら、次の問題があります。

  1. iCloud未対応
  2. クラウドストレージ未対応
  3. wget / git コマンドなし
  4. zip / unzip コマンドなし
  5. その他 where など一般的なUNIXコマンドなし

後述しますが、地味に 3 や 4 が致命的です。そのため、他のアプリとファイルアプリ経由で連携せざるをえないメンドくささはあります。

日本語入力

こちらの記事で書いた通り、問題なく日本入力ができます。

ソフトウェアキーボードなら、iOS版ATOKも使えます。

iVim with ATOK
iVim with ATOK

ただ、入力位置に変換ウインドウが出ないのが残念です。

iVimでの日本語変換
iVimでの日本語変換

これは慣れれば問題ない範囲かもしれませんし、プログラミングなど英数字中心なら影響はありません。

設定変更

iVim は、Vimとしての標準機能はほとんど利用できます。

そのため、~/.vimrc を変更さえすれば様々な設定変更が可能です。例えば、こんな感じ。

vimtry1/ivim-vimrc
Contribute to vimtry1/ivim-vimrc development by creating an account on GitHub.
" => General ===================================================================
set history=500

" Enable filetype plugins
filetype plugin on
filetype indent on


" => VIM user interface ========================================================
set number
set ruler
set hid
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
set ignorecase
set smartcase
set hlsearch
set incsearch
set lazyredraw
set magic
set showmatch
set mat=2
set showcmd
set wrapscan
set matchtime=3
set list
set autoindent
set hidden
set ttyfast
set cursorline
set cursorcolumn
set colorcolumn=80

" No annoying sound on errors
set noerrorbells
set novisualbell
set t_vb=
set tm=500
set belloff=all
set vb t_vb=

" => Colors and Fonts ==========================================================
colorscheme molokai
set t_Co=256
set encoding=utf8
set ffs=unix,dos,mac
set fileencoding=utf-8
set fileencodings=utf-8,iso-2022-jp,euc-jp,sjis

" => Files, backups and undo ===================================================
set noswapfile
set nobackup
set nowb

" => Text, tab and indent related
set expandtab
set smarttab
set shiftwidth=4
set tabstop=4
set softtabstop=0
set lbr
set tw=500
set ai
set si
set wrap


" => Moving windows
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l

" => Status line
set laststatus=2
set cmdheight=3

" => Tab line
set showtabline=2
set guioptions-=e

" => Custom Key Mappings
Mappings
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Like windows keymapping
inoremap <C-v>                  <C-r>*
inoremap <C-e>                  <End>
vnoremap <C-C>                  "+y
nnoremap <C-a>                  ggVG
nnoremap <C-e>                  <End>

" Tab control
nnoremap <C-t>                  :tabe<cr>
nnoremap <C-tab>                :tabnext<cr>
nnoremap <C-S-tab>              :tabprevious<cr>

" => For Plugin

" Vim doc - Ja
set helplang=ja

" QuickRun for Python
let g:quickrun_config = {}
let g:quickrun_config.python = {'command': 'python3'}

" indentLine
let g:indentLine_setColors = 0
let g:indentLine_color_term = 239

こんな感じに設定すると、次のような感じに使えます。

けっこう現実的に利用できるレベルの設定が可能です。

プラグイン

プラグインもインストール可能です。ただ、ちょっとプラグインのインストールはメンドくさいです。なぜなら、git や zip がないため、GitHub から直接インストールできないからです。そのため、次の方法で実行します。

パッケージ管理

iVimの場合、標準パッケージマネージャを利用するのが無難です。Vim 8 以降である iVim の初期状態から使えるからです。

利用する準備としては、次のコマンドで必要なフォルダを作成します。

:!mkdir -p ~/.vim/pack/vim-plugins/start
:!mkdir -p ~/.vim/pack/vim-plugins/opt

上記で指定した文字列 “vim-plugins” は、別の任意の名称を指定しても大丈夫です。

インストール方法

  1. GitHub から Safari で、プラグインのZIPファイルをダウンロードする。
  2. ダウンロードしたファイルを「ファイル」アプリで開いて解凍する。
  3. 解凍したプラグインのフォルダを「このiPad内」の「iVim」へコピーする
  4. 3でコピーしたフォルダを ~/.vim/pack/vim-plugins/start へ移動する

ちなみに、4 は iVim からコマンドを実行する必要があります。例えば、vim-markdown の場合は次のようにコマンドを実行します。

:!mv vim-markdown/ ~/.vim/pack/vim-plugins/start/

もちろん Netrw も使えるので、そちらで移動させても良いです。

動作するプラグイン

こちらのプラグインをインストールしてみて、無事に動作することが確認できています。

  • molokai (カラースキーム)
  • Vaffle (ファイラ)
  • indentLine (インデント表示)
  • lightline (ステータスバー装飾)
  • mru (ファイル履歴)
  • vim-auto-save (自動保存)
  • vim-markdown (Markdown編集支援)
  • vim-quickrun (Quickrun)
  • vim-startify (起動時のダッシュボード画面)
  • vim-surround (編集支援)
  • vimdoc-ja (日本語ヘルプ)
iVimでvim-markdown
iVimでvim-markdown
iVimでvim-startify
iVimでvim-startify

動作しないプラグイン

いくつか試してみましたが、設定がめんどくさかったり、色々と動作するのは難しいプラグインはこちら。

  • vim-sl
  • NERDTree
  • Dein
  • Denite
  • Deoplete
  • Defx
  • jedi
  • tagbar
  • auto-ctags
  • vim-fugitive
  • vim-gitgutter
  • docker.vim
  • Unite.vim
  • neosnippet.vim
  • neosnippet-snippets

気づき・課題

色々試してみた中で、気づきやどうしても解決できない問題がありました。それを列挙します。

  • Slide Over や Split View と併用すると便利。
iVimでSlide Over
iVimでSlide Over
iVimでSplit View (中)
iVimでSplit View (中)
iVimでSplit View (小)
iVimでSplit View (小)
  • perl / ruby/ gcc などのコマンドはない
  • pythonコマンドはないが、python3コマンドはある。
  • python3の標準モジュールもいくつか含まれない。また、pipが無く、通常の手段ではモジュールの追加は難しい。
iVimでPython3の標準モジュール urllib3 が無い
iVimでPython3標準モジュール urllib3 が無い

iVimに適した環境は?

試してみたところ、次の組み合わせで利用するのが良かったです。

キーボードは、Apple系の配列である方が便利です。特に、Ctrlキーの位置や入力方法の変更キーなどが無いと、けっこうツラくなってしまいますからね。

iPad Pro + Smart Keyboard

Apple iPad Pro (11インチ, Wi-Fi, 1TB) - シルバー(第1世代)
Apple iPad Pro (11インチ, Wi-Fi, 1TB) - シルバー(第1世代)がパソコン・周辺機器ストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。
Apple Smart Keyboard Folio (11インチ iPad Pro 第1世代用) - 日本語
Apple Smart Keyboard Folio (11インチ iPad Pro 第1世代用) - 日本語がタブレットアクセサリストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

iPad + Smart Keyboard

Apple iPad (10.2インチ, Wi-Fi, 128GB) - シルバー
Apple iPad (10.2インチ, Wi-Fi, 128GB) - シルバー
Amazon.co.jp: Apple Smart Keyboard(10.2インチiPad、10.5インチiPad Air、10.5インチiPad Pro用)- 日本語 JIS/MPTL2J/A
Amazon.co.jp: Apple Smart Keyboard(10.2インチiPad、10.5インチiPad Air、10.5インチiPad Pro用)- 日本語 JIS/MPTL2J/A

iPad + Magic Keyboard

Apple iPad (10.2インチ, Wi-Fi, 128GB) - シルバー
Apple iPad (10.2インチ, Wi-Fi, 128GB) - シルバー
Amazon.co.jp: Apple Magic Keyboard - 日本語(JIS)
Amazon.co.jp: Apple Magic Keyboard - 日本語(JIS)

Vim力を向上させてくれる書籍たち

iVimをトレーニング環境と捉えると非常に優秀です!こちらを見ながら、ぜひ Vim力アップに役立てましょう。


Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。


こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。

プロフィール
管理人
Vim太郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

\フォローする/
\ シェアする /
\フォローする/
関連記事
Vim入門
タイトルとURLをコピーしました