非常に優秀なモバイル端末として、iPad / iPad Pro があります。
この iPad / iPad Pro で Vim を使うには、こちらを利用するのが最善です。
このことは、こちらの記事でも紹介しています。
しかし、どこまで本気で使えるのかは未知数な印象で、あまり使い込んでいない人も多いのではないでしょうか。
そこで、この記事では iVim で実用的にどこまで利用できるのか、一例としてご紹介していきます。
ファイルの受け渡し
メーラーなどの他のアプリへ作成したファイルを添付したい場合など、色々とファイルとしてやりとりしたいことがあると思います。その場合は、次の2つの方法を取ることになります。
1. コピー&ペースト
単なるテキストエディタと考え、コピー&ペーストによって他のアプリとやり取りができます。
その際、iVim独特の部分として、iOS/iPadOSのクリップボードと無名レジスタは同期している点が挙げられます。そのため、操作は下記の通りです。
モード | キー操作 | 実行機能 |
---|---|---|
ノーマルモード | y | コピー |
ノーマルモード | “*p “+p | ペースト |
挿入モード | Ctrl-“ * Ctrl-“ + | ペースト |
2. 「ファイル」アプリ
長いファイルや複数ファイルになると、コピー&ペーストでは煩わしいです。そうなると、「ファイル」アプリで直接取り出すことになります。
「ファイル」アプリで「このiPad内」の「iVim」を開きます。
そうすると、iVim で開くホームディレクトリが表示されます。
ドットファイルなどの隠しファイル/隠しディレクトリは見えないので注意しましょう。
3. HTTP経由
curlコマンドは用意されているので、curl経由でGET/POSTすることは可能です。例えば、iVimから利用するコマンドは次の通りです。
:!curl -k -O {URL}
この方法で圧縮ファイルなどをダウンロードすることがあるはずです。その際、TAR/GZIP/BZIP2が使えるため、多少いろいろできるはずです。
注意
残念ながら、次の問題があります。
- iCloud未対応
- クラウドストレージ未対応
- wget / git コマンドなし
- zip / unzip コマンドなし
- その他 where など一般的なUNIXコマンドなし
後述しますが、地味に 3 や 4 が致命的です。そのため、他のアプリとファイルアプリ経由で連携せざるをえないメンドくささはあります。
日本語入力
こちらの記事で書いた通り、問題なく日本入力ができます。
ソフトウェアキーボードなら、iOS版ATOKも使えます。
ただ、入力位置に変換ウインドウが出ないのが残念です。
これは慣れれば問題ない範囲かもしれませんし、プログラミングなど英数字中心なら影響はありません。
設定変更
iVim は、Vimとしての標準機能はほとんど利用できます。
そのため、~/.vimrc を変更さえすれば様々な設定変更が可能です。例えば、こんな感じ。
" => 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” は、別の任意の名称を指定しても大丈夫です。
インストール方法
- GitHub から Safari で、プラグインのZIPファイルをダウンロードする。
- ダウンロードしたファイルを「ファイル」アプリで開いて解凍する。
- 解凍したプラグインのフォルダを「このiPad内」の「iVim」へコピーする
- 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 (日本語ヘルプ)
動作しないプラグイン
いくつか試してみましたが、設定がめんどくさかったり、色々と動作するのは難しいプラグインはこちら。
- 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 と併用すると便利。
- perl / ruby/ gcc などのコマンドはない
- pythonコマンドはないが、python3コマンドはある。
- python3の標準モジュールもいくつか含まれない。また、pipが無く、通常の手段ではモジュールの追加は難しい。
iVimに適した環境は?
試してみたところ、次の組み合わせで利用するのが良かったです。
キーボードは、Apple系の配列である方が便利です。特に、Ctrlキーの位置や入力方法の変更キーなどが無いと、けっこうツラくなってしまいますからね。
iPad Pro + Smart Keyboard
iPad + Smart Keyboard
iPad + Magic Keyboard
Vim力を向上させてくれる書籍たち
iVimをトレーニング環境と捉えると非常に優秀です!こちらを見ながら、ぜひ Vim力アップに役立てましょう。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。