
経緯
黒い画面と睨みっこをしていて、なんとなく遊び要素が欲しいなとふと思ったのでやってみました。
環境
- macOS Catalina 10.15.5
- fish v3.1.0
- Neovim v0.4.3
- vim-plug v0.10.0
- brew 2.4.0
- vim プラグイン
- CLI ツール
github.com
boxes.thomasjensen.com
www.figlet.org
インストール
vim-startify
*vim-plug を使用している場合
figlet
boxes
vim-startify の設定
自分は以下のように vim の設定ファイルに記入しています。
人によって異なると思いますが、プラグイ 別に設定ファイルを分けていないようであれば、
neovim だと、 ~/.config/nvim/init.vim
で、 vim だと ~/.vimrc
になるのかなと思ってます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| " vim 起動時に vim-startify も一緒に起動させる
" ref: https://github.com/mhinz/vim-startify/blob/master/doc/startify.txt#L309
let g:startify_session_autoload = 0
" ref: https://vim.blue/startify/
" file 表示数
let g:startify_files_number = 5
" ref: http://mewbies.com/acute_terminal_fun_01_get_ascii-fied_on_the_terminal.htm
" ref: https://github.com/ascii-boxes/boxes/blob/master/boxes-config
let g:startify_custom_header = ([
\' \\\/// ',
\' / _ _ \ ',
\' (| (.)(.) |) ',
\' +------------------.OOOo--()--oOOO.------------------+ ',
\' | __ ___ __ __ | ',
\' | _________ _/ /|__ \ / /______ / /_ ____ _____ | ',
\' | / ___/ __ `/ __/_/ // //_/ __ \/ __ \/ __ `/ __ \ | ',
\' | / /__/ /_/ / /_/ __// ,< / /_/ / /_/ / /_/ / / / / | ',
\' | \___/\__,_/\__/____/_/|_|\____/_.___/\__,_/_/ /_/ | ',
\' | _ __ __ | ',
\' | / | / /__ ____ _ __/_/___ ___ | ',
\' | / |/ / _ \/ __ \ | / / / __ `__ \ | ',
\' | / /| / __/ /_/ / |/ / / / / / / / | ',
\' | /_/ |_/\___/\____/|___/_/_/ /_/ /_/ | ',
\' | | ',
\' +------------------.oooO-----------------------------+ ',
\' ( ) Oooo. ',
\' \ ( ( ) ',
\' \_) ) / ',
\' (_/ ',
\'',
\])
|
ロゴは startify_custom_header と言う名前の変数の中に文字列として書いていきます。
1
2
3
4
| let g:startify_custom_header = ([
\ ..
\ ...
])
|
ロゴの作り方
今回僕は、figlet
と呼ばれるアスキーアートを生成してくれる CLIツールと、boxes
と呼ばれる文字をいろんなデザインの箱で囲ってくれる CLI ツールを用いてロゴを作りました。
ちょっと手間なんですが、僕の場合 cat2koban
と neovim
の2行構成にしたかったので、わざわざ2個目の neovim
の方をコピペしてはキリ貼りしながら、なんとか2行にしました。
1
| $ figlet -f slant cat2koban | boxes -d ian_jones
|


ちなみに、 figlet
単体だとこういう感じで表示されて、この出力結果が パイプ ( | )
で boxes
というコマンドに渡されているのがわかるかと思います。


あとは結果を | pbcopy
するなり コピーするなりして、vim の設定ファイルに貼りつけます。ここで注意なんですが、文字列としてこのロゴを扱っているので、\" ... ",
というようにして、ロゴを一行一行囲む必要があります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| let g:startify_custom_header = ([
\' \\\/// ',
\' / _ _ \ ',
\' (| (.)(.) |) ',
\' +------------------.OOOo--()--oOOO.------------------+ ',
\' | __ ___ __ __ | ',
\' | _________ _/ /|__ \ / /______ / /_ ____ _____ | ',
\' | / ___/ __ `/ __/_/ // //_/ __ \/ __ \/ __ `/ __ \ | ',
\' | / /__/ /_/ / /_/ __// ,< / /_/ / /_/ / /_/ / / / / | ',
\' | \___/\__,_/\__/____/_/|_|\____/_.___/\__,_/_/ /_/ | ',
\' | _ __ __ | ',
\' | / | / /__ ____ _ __/_/___ ___ | ',
\' | / |/ / _ \/ __ \ | / / / __ `__ \ | ',
\' | / /| / __/ /_/ / |/ / / / / / / / | ',
\' | /_/ |_/\___/\____/|___/_/_/ /_/ /_/ | ',
\' | | ',
\' +------------------.oooO-----------------------------+ ',
\' ( ) Oooo. ',
\' \ ( ( ) ',
\' \_) ) / ',
\' (_/ ',
\'',
\])
|
そしてターミナルで引数なしで vim を起動させてみると、こうなります。

皆さんも自分のロゴを作ったりして、vim に少しの遊び要素を追加してみてはいかがでしょうか?