Termux + Vim + SKKでブログを書く
AndroidアプリのTermuxを使って ChromebookにJekyll開発環境を構築 したので、TermuxにVimをインストールしVim + SKKでブログを書く環境も整えていきます。
Vimの他、EmacsもTermux上で動作します。 その他Termux上で動作するテキストエディタが下記のページで紹介されています。
- テキストエディタ(Termux Wiki) [EN]
ただし、TermuxではChromeの日本語入力が使用できません。 Android端末でも同様と思います。 (検索すると入力できたとの記事もみかけましたが、自分の環境ではできませんでした)
いま、日本語の入力をしたいのはテキストエディタに限定されているので Vimのプラグイン”eskk.vim”を導入してブログを書く環境を整えます。
Vimのインストール
termuxにはpython3のサポートの有無でvim
とvim-python
の2つのパッケージが 用意されています。今回はvim-python
をインストールします。
pkg install vim-python
lua
やpython
(python2) はサポートされていません。 プラグインによっては動作しないので、注意が必要です。
$ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 8 2020 16:25:48)
Included patches: 1-1650
Compiled by builder@021c2dc91eff
Huge version without GUI. Features included (+) or not (-):
+acl -farsi +mouse_sgr +tag_binary
+arabic +file_in_path -mouse_sysmouse -tag_old_static
+autocmd +find_in_path +mouse_urxvt -tag_any_white
+autochdir +float +mouse_xterm -tcl
-autoservername +folding +multi_byte +termguicolors
-balloon_eval -footer +multi_lang +terminal
+balloon_eval_term +fork() -mzscheme +terminfo
-browse -gettext +netbeans_intg +termresponse
++builtin_terms -hangul_input +num64 +textobjects
+byte_offset +iconv +packages +textprop
+channel +insert_expand +path_extra +timers
+cindent +ipv6 -perl +title
-clientserver +job +persistent_undo -toolbar
-clipboard +jumplist +popupwin +user_commands
+cmdline_compl +keymap +postscript +vartabs
+cmdline_hist +lambda +printer +vertsplit
+cmdline_info +langmap +profile +virtualedit
+comments +libcall -python +visual
+conceal +linebreak +python3 +visualextra
+cryptv +lispindent +quickfix +viminfo
+cscope +listcmds +reltime +vreplace
+cursorbind +localmap +rightleft +wildignore
+cursorshape -lua -ruby +wildmenu
+dialog_con +menu +scrollbind +windows
+diff +mksession +signs +writebackup
+digraphs +modify_fname +smartindent -X11
-dnd +mouse -sound -xfontset
-ebcdic -mouseshape +spell -xim
+emacs_tags +mouse_dec +startuptime -xpm
+eval -mouse_gpm +statusline -xsmp
+ex_extra -mouse_jsbterm -sun_workshop -xterm_clipboard
+extra_search +mouse_netterm +syntax -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/data/data/com.termux/files/usr/share/vim"
Compilation: i686-linux-android-clang -c -I. -Iproto -DHAVE_CONFIG_H -I/data/data/com.termux/files/usr/include -march=i686 -msse3 -mstackrealign -mfpmath=sse -fstack-protector-strong -Oz -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: i686-linux-android-clang -L/data/data/com.termux/files/usr/lib -Wl,-rpath=/data/data/com.termux/files/usr/lib -Wl,--enable-new-dtags -Wl,-z,relro,-z,now -Wl,--as-needed -o vim -lm -lncursesw -liconv -L/data/data/com.termux/files/usr/lib/python3.9/config-3.9/ -lpython3.9 -lcrypt -ldl -lm -lm
辞書のダウンロード
termuxにはDebian/Ubuntuにあるようなskkdicパッケージは用意されていませんので、 SKKの辞書をskk-dev.github.io
からダウンロードします。
mkdir ~/.dict && cd ~/.dict
curl -sSL -O https://skk-dev.github.io/dict/SKK-JISYO.L.gz
gzip -d SKK-JISYO.L.gz
ダウンロードした辞書はEUC-JPになっていますが、UTF-8に変換しておきます。
pkg install iconv
iconv -f euc-jp -t utf-8 SKK-JISYO.L > SKK-JISYO.utf8.L
SKK-JISYO.Lを使用しましたが、他の辞書を使いたい場合は 以下のページをみてください。
- SKK dictionary files gh-pages(skk-dev.github.io)
ESKK.vimのインストール
- tyru/eskk.vim(github.com) [EN]
mkdir -p ~/.vim/pack/git-plugins/start
cd ~/.vim/pack/git-plugins/start
git clone https://github.com/tyru/eskk.vim.git
ダウンロードした辞書を指定します。
" ~/.vimrc
let g:eskk#large_dictionary = {
\ 'path': "~/.dict/SKK-JISYO.utf8.L",
\ 'sorted': 1,
\ 'encoding': 'utf-8',
\}
SKKの簡単な使い方
Key | |
---|---|
CTRL+J | ひらがな入力状態へ・確定 |
l (小文字のL) | 半角英数入力状態へ |
L (大文字のL) | 全角英数入力状態へ |
SHIFTを押しながらA~Z | 編集開始・送りがな開始 |
SPACE | 変換・次候補 |
CTRL+G | 中断 |
(変換中に)x | 前候補 |
(編集中に)q | カタカナで確定 |
Tag cloud
android (2), bash (1), bitbucket (2), chromebook (2), cifs (1), css (1), docker (1), git (1), gitlab (1), info (1), javascript (3), jekyll (13), markdown (1), nfs (1), nodejs (2), php (2), plugins (5), powerline (1), ruby (1), ssh (1), themes (1), vim (1), windows (1), wordpress (1), wsl (1), xrea (7)