■ DroidVim (テキストエディタ)

DroidVimはテキストエディタVimのAndroid移植版です。
Vim 8.1 (Huge version)、grep、diff、ctagsはすぐに使用できます。
https://play.google.com/store/apps/details?id=com.droidvim

▼必須 - ARM(Android 4.1以降)、x86(Android 4.3以降)

■ ノート:

終了方法

  • ":qa"コマンド
  • ファンクションバーの"Q"ボタンをタップ
  • ナビゲーションドロワーの"QUIT"ボタンをタップ

Vimチュートリアル

":Vimtutor"を入力してください。
または
はじめてのvi

直接入力/通常入力

  • デフォルトではノーマルモードのための直接入力(英数字のみ)に設定されています。
    直接入力/通常入力

■ トラブルシューティング:

  • デフォルトではノーマルモードのための直接入力(英数字のみ)に設定されています。
    直接入力/通常入力
  • Vimがフリーズした場合は、メニューの「ウィンドウを閉じる」をタップして終了します。
  • Vimのambiwidthオプションを変更する場合は、「設定」の「東アジアの曖昧な文字幅」も変更してください。
  • ファイラーまたはクラウドストレージアプリケーションによっては、[共有](または[プログラムから開く])メニューでファイルを開くときに読み取り専用に設定されている場合があります。
    この場合は「ストレージ」ボタンからファイルを開くか、ファイラーまたはクラウドストレージアプリケーションの開発者に問い合わせてください。

■ クリップボード

DroidVimは端末エミュレータ上で動作しているのでclipboardオプションは使用できません。(clipboardは基本的にGVim用オプションです)

そのかわりDroidVimにはクリップボードコマンドが用意されています。

  • "*p - クリップボードからVimへ貼り付け (またはファンクションバーボタン)
  • "*y - Vimからクリップボードへコピー (またはファンクションバーボタン)
  • gY - 無名レジスタからクリップボードへコピー (例 yygY : DroidVimのみ)

Androidのインテントを介して他のアプリからテキストの貼り付け/コピーが行えます。

  • 貼り付け - 他のアプリからテキストを「共有」
  • コピー - 「長押しメニュー(またはドロワーのメニューボタン)」->「共有」

■ ストレージアクセス

内部ストレージ、外付けSDカード、USBメモリ、各種クラウドストレージへのアクセスのために、ナビゲーション・ドロワーの「ストレージ」ボタンからファイル・ピッカーを起動します。(Android 4.4以降)
Dropboxのファイルアクセスには"Dropbox"ボタンを使用してください。

内部ストレージ

内部ストレージへのアクセスにはVimのnetrw (例 :e .)も使用可能です。 $INTERNAL_STORAGEを使用して内部ストレージへアクセスできます。
:e $INTERNAL_STORAGE

あなたがAndroid 6以降を使用している場合は、ストレージアクセスを許可した後に、DroidVimを再起動してください。
* Android Q以降の場合は「プライベートストレージ領域」になります。

起動時のディレクトリ

ホームディレクトリはアプリのプライベート領域にあります。(:echo $HOME)

しかしVimを起動したらすぐに内部ストレージのディレクトリのファイルを編集したいことがあるかもしれません。

その場合は以下を.vimrcへ追加してください。
" $INTERNAL_STORAGEを使用して内部ストレージへアクセスできます cd $INTERNAL_STORAGE/path/to/directory

「設定」の「起動時のディレクトリ」を利用すると、クリップボードに指定したパスをコピーすることができます。

("*p または長押しメニューからペーストできます)

Vimfiles (.vimrcと.vim)

* Android Q以降ではセキュリティ上の理由で、以下の「内部ストレージへの直接アクセス」は禁止されました。「Files」等のアプリでホームディレクトリのバックアップ/リストアを行ってください。

ホームディレクトリ($HOME)のファイルはアンイストール時に削除されます。このため.vimrcvimfiles(.vim)を内部ストレージに作成することをおすすめします。内部ストレージは他のファイラーアプリでアクセス可能です。

($INTERNAL_STORAGEを使用して内部ストレージへアクセスできます)

.vimrcvimfiles(.vim)を内部ストレージに作成した場合は, 以下のコマンドでシンボリックリンクを作成してください。
  1. :cd $HOME
  2. :!rm .vimrc
    ($HOME/.vimrcの削除)
  3. :!ln -s $INTERNAL_STORAGE/path/to/.vimrc .vimrc
  4. :!rm -rf .vim
    ($HOME/.vimの削除)
  5. :!ln -s $INTERNAL_STORAGE/path/to/.vim .vim

ホームディレクトリ

おすすめしませんが、Vimのホームディレクトリを変更することもできます。

「設定」の「ホームディレクトリ」を使用するか、以下を.vimrcへ追加してください。
" $INTERNAL_STORAGEを使用して内部ストレージへアクセスできます let $HOME=$INTERNAL_STORAGE.'/path/to/home' cd $HOME
ただし$HOMEを変更すると、属性の変更を必要とするファイルの書き込みができない場合があります。

viminfoの場合は、以下を.vimrcに追加してください。

set viminfo+=n$APPFILES/home/.viminfo

■ Tips:

直接入力/通常入力

デフォルトではノーマルモードのための直接入力(英数字のみ)に設定されています。
直接入力/通常入力を切り替えるには以下の方法があります。(「起動時の入力モード」は設定で変更可能)

  • ファンクションバーの"◇"ボタンをタップ
  • 一行テキスト入力
  • Vimスクリプトまたは物理キーボードから入力モードを切替
    テキスト入力モードの制御

一行テキスト入力

一行テキスト入力 (画面下部でダブルタップ)を起動すると、一般的なAndroidアプリと同等の通常入力が行なえます。
一行テキスト入力は「画面下部をダブルタップ」して起動可能です。
「設定」→「◇ボタン」を「一行テキスト入力」に変更するのも便利です。

カーソル移動

  • 画面下半分で左右にスワイプして、カーソルを移動
  • [○]ボタンでカーソルボタンの上下と左右を入替え。
    [Ctrl]ボタンの状態に応じて上下と左右が一時的に入れ替わります([ESC]ボタンで終了)

HTMLとLink

  • 編集中のHTMLファイルをブラウザで開く
    - "メニュー" -> "共有" -> \"ファイル\"
    - Type :ShareIntent file
  • カーソル下のURLを開く
    - gx (:h gx)

カラースキーム

DroidVimは256色端末用のカラースキームをサポートしています。

:colorscheme term256
端末の背景色に応じて:set bg=lightまたは:set bg=darkを追加してください。

プラグイン

.vimディレクトリにVimScriptプラグインをインストールすることができます。
:h plugin

packaddを使うこともできます。

:h packages

Samba

Sambaで共有されているファイルを編集したい場合は、以下のアプリを使用してみてください。

rootアクセス

DroidVimは端末エミュレータ上で動作しているので、suコマンドをインストールしている環境ではrootアクセスが可能です。 通常はroot化した際にviコマンドが使用可能になっているはずなので、shellまたはCtrl+zでシェルを起動してからのviの使用を推奨します。 なおsuvimでDroidVimのvimバイナリを起動することも可能です。

■ 追加機能 (アプリ内課金):

追加コンテンツ

一部のプラグイン等で必要とされる、以下のパッケージを追加します。

  • Git - バージョン管理システム
  • Python - プログラミング言語

その他

  • マークダウンHTML変換プラグイン (実験的)

寄付について

一度の寄付であなたのすべてのデバイスで追加コンテンツが使用可能になります。またアップデートに寄付は必要ありません。
問題がある場合は"アンインストール->再インストール"または"アンドロイドの設定からPlay Storeのキャッシュを削除"を試してみてください。

busybox-setup

追加コンテンツが特定のデバイス(Samsung社製など)にインストールされていると、一部のコマンド(lsなど)が機能しないことがあります。

このような場合は、"busybox-setup sysbin"を使用してください。

  1. :shell または Ctrl-z
  2. busybox-setup sysbin

まだ問題が起きる場合は初期化してから、個別のコマンド設定を行います。

初期化

  1. busybox-setup clean
  2. busybox-setup

個別のコマンド設定

  1. 例えばlsが動作しない場合はbusybox-setup sysbin lsbusybox-setup lsを実行します。
  2. もし動作しないコマンドがあれば、同様に処理します。
オプション
{command} 指定したbusyboxコマンドを追加します(例: busybox-setup ls)
all すべてのbusyboxコマンドを追加します(busybox-setup all)
sysbin {command} デバイス本体の指定したコマンドを優先します(例: busybox-setup sysbin ls)
sysbin デバイス本体の全てのコマンドを優先します(busybox-setup sysbin)
clean すべての追加コマンドを消去します(busybox-setup clean)

オプションを指定しない場合は通常のインストールを行います。

■ 文字入力モードの制御

Vimスクリプトから文字入力モード等を変更することができます。

:ATEMod 2

設定値は以下を参照して適切に変更してください。

設定値効果備考
0 IMEを隠す
1 IMEを表示
2 IMEをトグル
50 通常入力
51 直接入力 : パスワード 英数確定入力になる。
日本語入力不可。
52 直接入力 : URI ほとんどのIMEでは変更後に英数入力に切り替わる。
英数確定入力にはならない。(IMEの設定に依存)
日本語入力可能。
53 直接入力 : デフォルト
54 通常入力 : Raw
55 「通常入力」/「起動時の入力モード」を切替
56 一行テキスト入力へ移動
61 言語切替 (Shift+Space)
62 言語切替 (Alt+Space)

(「日本語入力固定モード」にも使用可能です)

以下を設定すると、ノーマルモード移行時に直接入力に、挿入モード移行時に通常入力に切り替わります。

let g:imctrl_normal = 53 let g:imctrl_insert = 50

動作確認済みIME

  • ATOK
  • AOSPキーボード
  • Gboard
  • Google日本語入力
  • Wnn keyboard lab

主にGoogle日本語入力で動作確認を行っています。

既知の問題

  • Gboardでの物理キーボード使用時には、直接入力を強制することができません。

物理キーボード

物理キーボードから入力モードを制御したい場合は「設定」→「IMEショートカット」を適切に設定してみてください。

Google日本語入力の場合:
「IMEショートカット」→「機能割当」→直接入力/通常入力
「IMEショートカット」→「Ctrl+[j]」
Ctrl+[j]で英数/日本語入力切替になります。(最初の1回のみCtrl+[j]の後に[半/全]や[Shift]+[Ctrl]などで日本語入力に要変更が必要になる場合があります)

AndroidとIMEのショートカットキー

Androidのショートカットキーで言語、レイアウト、IMEを切り替えることができます。

レイアウト切替 [Ctrl]+[Space] 複数レイアウトを選択している場合
言語切替 [Shift]+[Space] IMEが複数言語を使用可能な場合
IME切替 [Meta]+[Space] 複数のIMEを使用可能な場合
[Meta]は[Windows]キーまたは[Command]キー
(Android 7以降)

その他にも、多くのIMEでは日本語/英数の言語切替をショートカットキーで行えます。

日本語/英数入力切替

ATOK [半/全]
[Alt]+[Space]
[変換]
Gboard [半/全]
[Shift]+[Space]
Google日本語入力 [半/全]
[Alt]+[`]
[Ctrl]+[Shift]
Wnn keyboard lab [半/全]
[Shift]+[Space]

ほとんどのIMEは英語配列キーボードの[Alt]+[`]で日本語/英数入力の切替が可能です。

英語配列キーボード [Alt]+[`]

物理キーボードにファンクションキーがない、あるいはfnキーと同時押しで面倒な場合でも、IMEによっては文字種変換をショートカットキーで行えます。

文字種変換 (Gboard/Google日本語入力/ATOK)

ひらがな変換 [Ctrl]+[u]
カタカナ変換 [Ctrl]+[i]
半角変換 [Ctrl]+[o]
全角無変換 [Ctrl]+[p]

Gboard/Google日本語入力

英数変換 [Ctrl]+[t]

Gboard/Google日本語入力で「物理キーボードの[Alt]キーで絵文字を表示」するように設定していた場合、[Alt]キーによる絵文字入力キーボードの表示中に英数直接入力が行なえます。(正式な仕様ではない可能性があります)

ATOK

英数変換(日本語配列) [Ctrl]+[@]
英数変換(英語配列) [Ctrl]+'['

■ ソースコード:

DroidVimはオープンソースプロジェクトです。
https://github.com/shiftrot/droidvim

■ 連絡先:

<< Prev  |  PageTop