1. 程式人生 > >用Android平板來寫程式碼

用Android平板來寫程式碼

之前入了一個洋垃圾 華碩P00I,我對這款平板的第一印象是:螢幕好,電池耐用。如果忽略後壓屏的缺點,還是很有價效比的。

除了平時看小說、PDF、PPT、視訊,作為一個程式設計師(還沒畢業),想著是否可以更好的挖掘平板的利用價值,比如寫程式碼,刷LeetCode。於是就有了這個踩坑教程,給其他有共同想法的人提供一個參考,少走彎路。

想要愉快地寫程式碼當然需要一個外接鍵盤,我選擇的鍵盤是 羅技K380。好像現在市面上可供選擇的藍芽鍵盤也不多,於是就挑了一款對自己口味的藍芽鍵盤。

裝置部分

  • 華碩P00I
  • 羅技K380

軟體部分

  • Termux 終端模擬器(不需要ROOT也能使用)
  • QQ輸入法(其他輸入法也可以,後面將說明我為什麼選QQ輸入法)

文字編輯器

既然是在命令列介面,那麼vim自然是我們的首選

其他可用的編輯器請參考:https://wiki.termux.com/wiki/Text_Editors

安裝軟體

  1. 首先需要在平板上安裝 Termux (在各個Android市場上應該都可以找到)

  2. 安裝完成在 Termux 執行下面的命令安裝vim命令列編輯器

    	pkg install vim
    

    需要執行c/c++程式碼的話,那麼需要還安裝clang來編譯和執行程式碼

    	pkg install clang
    

    如果想編譯Java程式碼的話,好像沒有直接安裝的方法,可以參考https://github.com/termux/termux-packages/issues/324

    ,將來會介紹其他方法。

  3. 我們接著需要安裝 Termux:API 這個軟體來擴充套件 Termux 功能,這個APP可以在 APKMirror 谷歌市場上找到。

    接著開啟Termux,輸入以下命令安裝擴充套件API包

    	pkg install termux-api
    
  4. 我們還需要一個輸入法,我安裝的是QQ輸入法。

    應該說目前比較主流的輸入法(搜狗、QQ、百度、訊飛)都能夠檢測到藍芽鍵盤的存在,並且對藍芽鍵盤進行了適配,所以我們選哪個輸入法都可以,每個人可以根據自己的喜好選擇。

    因為我平時用的是小鶴雙拼,原來用的是手心輸入法 ,但發現它不支援同時用藍芽鍵盤和雙拼,而QQ輸入法支援。

    經過我對這幾個輸入法的簡單的評測,在藍芽鍵盤支援方面,個人心目中的排名是: QQ > 訊飛 > 搜狗 > 百度

複製 & 貼上的使用

安裝了 termux-api 這個包後,我們可以用在Termux輸入

termux-

然後按兩次Tab,終端會列印所有 termux-api 附加的命令,有興趣的話可以研究這些命令的使用。

其中的兩個命令 termux-clipboard-get 是獲取剪下板的內容,termux-clipboard-set 是設定剪下板的內容。 例如設定剪下板內容:

termux-clipboard-set "Hello World!"

不過這兩條命令有點長,敲的話手容易累了,所以我們需要用 alias 給這兩條命令取別名.

編輯 .bashrc

vim ~/.bashrc

輸入以下內容

alias clip-get='termux-clipboard-get'
alias clip-set='termux-clipboard-set'
alias ls='ls --color-auto'
alias ll='ls --color=auto -lshaF'

取了別名之後(順帶給ls命令加上了顏色),我們就可以用clip-getclip-set 這兩條短一點的命令了。

下面可能是使用頻率比較高的命令:

獲取剪下板的內容寫入到 a.txt 檔案

clip-get >> a.txt

獲取 a.txt 的檔案內容並寫入到剪下板

cat a.txt | clip-set

配置vim

網路上配置vim的教程很多,這裡就不重複了,直接貼上最簡單的配置

vim ~/.bashrc

輸入以下內容

set number
set tabstop=4
set smartindent
set shiftwidth=4
set syntax=on
set encoding=utf8
set fileencodings=ucs-bom,utf8,cp936
set termencoding=utf8

編譯 & 執行 c/c++

下面將嘗試用編譯c/c++ 程式碼

vim a.cpp

輸入下面的程式碼

#include <iostream>
using namespace std;
int main(){
  cout<<"Hello World"<<endl;
}

退出vim,用clang++ 或 g++(其實 g++ 就是 clang++的 alias) 對 a.cpp 進行編譯

g++ a.cpp -o a.o

等待編譯完成,輸入 ./a.o 執行剛才編譯好的程式

./a.o

總結

在這篇文章裡只是簡單的介紹了環境搭建部分,其他部分如軟體配置、鍵盤配置並沒有詳細涉及。

在體驗過程中,比較遺憾的事情是不能在Termux上用藍芽鍵盤輸入中文。

Termux的可擴充套件性很高,大家可以去 https://wiki.termux.com/wiki/Main_Page 發掘更多Ter