用Android平板來寫程式碼
之前入了一個洋垃圾 華碩P00I,我對這款平板的第一印象是:螢幕好,電池耐用。如果忽略後壓屏的缺點,還是很有價效比的。
除了平時看小說、PDF、PPT、視訊,作為一個程式設計師(還沒畢業),想著是否可以更好的挖掘平板的利用價值,比如寫程式碼,刷LeetCode。於是就有了這個踩坑教程,給其他有共同想法的人提供一個參考,少走彎路。
想要愉快地寫程式碼當然需要一個外接鍵盤,我選擇的鍵盤是 羅技K380。好像現在市面上可供選擇的藍芽鍵盤也不多,於是就挑了一款對自己口味的藍芽鍵盤。
裝置部分
- 華碩P00I
- 羅技K380
軟體部分
- Termux 終端模擬器(不需要ROOT也能使用)
- QQ輸入法(其他輸入法也可以,後面將說明我為什麼選QQ輸入法)
文字編輯器
既然是在命令列介面,那麼vim自然是我們的首選
其他可用的編輯器請參考:https://wiki.termux.com/wiki/Text_Editors
安裝軟體
-
首先需要在平板上安裝 Termux (在各個Android市場上應該都可以找到)
-
安裝完成在 Termux 執行下面的命令安裝vim命令列編輯器
pkg install vim
需要執行c/c++程式碼的話,那麼需要還安裝clang來編譯和執行程式碼
pkg install clang
如果想編譯Java程式碼的話,好像沒有直接安裝的方法,可以參考https://github.com/termux/termux-packages/issues/324
-
我們接著需要安裝 Termux:API 這個軟體來擴充套件 Termux 功能,這個APP可以在 APKMirror 或 谷歌市場上找到。
接著開啟Termux,輸入以下命令安裝擴充套件API包
pkg install termux-api
-
我們還需要一個輸入法,我安裝的是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-get
和clip-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