Termux使ってスマホ(Android)で入力補完やってみた。


この記事ではPixel 3a XL(Android 10)にインストールしたTermux(0.98)を使っています。

はじめに。

こんにちは、タキガワです。初めての記事になります。私は競技プログラミングをやっていて、スマホでできたらいいと思っていたのですが、入力補完とかエラーチェックとかあるといいなと思って調べたらうまく行ったので一通りの手順を記事にしようと思いました。
こんな感じになります。

Termuxのインストール

AndroidでLinuxのターミナルっぽいことができるみたいなアプリです。(多分...)
普通のAndroidアプリと同じようにplay storeからインストールできます。
https://play.google.com/store/apps/details?id=com.termux&hl=ja

Termuxを起動して、必要なパッケージなどをインストール

以下のコマンドをTermux上で入力して、パッケージをインストールします。今回はNeovimとc++でやります。(gccは使えないみたいなのでclangでやります。)

pkg install neovim clang git curl nodejs yarn

Neovimの設定ファイルを作る前に、Neovimのプラグインマネージャーの vim-plugを導入します。

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

Neovimの設定をする。

次にNeovimの設定ファイルを作ります。

cd ~
mkdir .config && cd .config
mkdir nvim && cd nvim
touch init.vim

つぎにnvim init.vimなどでinit.vimを編集します。今回はcoc.vimというvimのプラグインを使います。

init.vim
call plug#begin()
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()

保存して、:PlugInstallをノーマルモードでEnterします。
最後にcoc.vimを使ってclangdneovimを連携(?)します。clangdはpkg installした時にclangと一緒にインストールされるみたいです。
Neovimを起動し:CocInstall coc-clangdをノーマルモードでEnterします。
これで終わりです。

最後に

clangのままだと#include<bits/stdc++.h>が使えないので、ホームディレクトリ(cd ~でいけるところ)のひとつ上にusrディレクトリがあります。あとはこちらの記事の通りにすればできると思います。coc.nvimもフォーマットとかできるらしいです。詳しくは参考文献を見て下さい。他の言語も似たような感じでできると思います。Bluetoothキーボードとかでコーディングできたらいいですね。

参考文献

Vimにcoc.nvimを入れたら便利すぎて感動したっていう話
Macでstdc++.hを用いてC++プログラムを実行したい!