お誕生日プレゼントvimrc
この記事はTSG Advent Calendarの8日目の記事として書かれました。
先月はyamaguchi氏のお誕生月でした。おめでとうございます。
今年のお誕生日プレゼントは.vimrcを書いてあげることにしました。昨年はTwitterの三文字アカウントをあげました。
リクエストは大きくは、
- 複数ファイルの編集を楽に
- ファイル全体をインデントできるように
- プロジェクトに含まれるファイルを表示
という感じでした。
バッファ移動
ちょうど最近、vim-airlineというものを知ったところでした。
github.com
powerlineというvimもzshもtmuxもすごくなるやつがあったんですが、専用のフォントが必要だったり大変なので、(SSHでやるし...)
これにはtablineというextensionがあって、バッファ一覧が上に出てきてよかったのでこれを使いました。
https://github.com/vim-airline/vim-airline#smarter-tab-line
あとは移動が楽になるように
nnoremap <silent> <C-p> :bN<CR> nnoremap <silent> <C-n> :bn<CR>
とだけ書いておきます。
全体インデント
vimで現在行をインデントするには
==
と打ちますが、ファイル全体をインデントするのは現状gg=G
くらいせざるを得ません。カーソル位置ずれるし。ということで、
nnoremap === gg=G<C-o><C-o>
として、
===
でファイル全体のインデントをできるようにしました。といってもカーソル位置はだいたいしか同じ場所でないし、さらにはカーソル位置のy座標が大きくずれたりするのですが。
プロジェクトのファイル一覧
"project"というのは定義しづらい言葉ですが、カレントディレクトリからの先祖で.gitを含む直近のところ以下でいいだろうってことになりました。
vim-rooterによってgitなどのrootまでchdirしてくれるようにして、project.vimでそこからのファイルを隣のバッファに表示してくれるようにしました。
しかし規定の\cというやつ、インタラクティブに.vimprojectsを作ってくれるのは良いのだけれど、質問事項が4つって多い...
ということで、先人の記事を参考に、元のrepositoryをforkして、\A(autoのつもり)を実装しました。
質問事項は一つだし、それも答えを省略できるので実質ゼロです。
あとは規定ではHOMEの.vimprojectsに全部はいるってのもつらい話なので、
nmap \p <Plug>ToggleProject nnoremap \P :Project .vimproject<CR> if getcwd() != $HOME if filereadable(getcwd() . '/.vimproject') autocmd VimEnter * Project .vimproject endif endif
くらいしておきます。
他
他にも色々設定して、全部で342行のvimrcを贈りました。まだまだ短いですね。
他のものの中でおすすめは、ぼくのかんがえたさいしょうのvimrc - derisの日記で紹介されている
inoremap jk <Esc>
とか
nnoremap <Space>w :<C-u>w<CR> nnoremap <Space>q :<C-u>q<CR> nnoremap <Space>Q :<C-u>q!<CR>
です。この記事の他のやつも使ってみたら便利なのかもしれませんが、ハマって普通のvimに戻れなくなりそうなのでまだ手は出していません...
部誌の印刷の仕方
これはTSG Advent Calendarの4日目の記事として書かれました。
www.adventar.org
東大駒場キャンパスの学生会館で部誌を効率的に作る方法についてです。
TSGとして、去年と今年の2回、それぞれ駒場祭で部誌を作りました。
特に去年はわりと試行錯誤感があったのに対し、今年はそれをなんとなく覚えていたのと人員が増えたこともあってわりとスムーズに印刷ができました。
その知見をここに書いておきます。
MediaWiki on さくら
この記事はIS17er Advent Calendar 2016の4日目の記事として書かれました。
どうも。こおしいずです。
ご報告が遅れましたが、東京大学学部後期課程は今のところ理学部情報科学科に内定し、そこに進学するつもりです。*1
その理学部情報科学科内定勢は、オンラインのコミュニケーション手段として、SlackとWikiを使っています*2。
URLが何処とは言いませんが、Wikiはさくらのレンタルサーバを借りて、そこにMediaWikiをインストールする形を取っています。(僕が借りたりインストールしたわけではありませんが。)
このMediaWiki導入時の問題がわりとさくらレンタルサーバ固有っぽいので書きます。
私は導入はやってません。他のレンタルサーバで個人用に導入したことはあって、対話的に丁寧な解説付きでできた記憶があるので、それはあまり問題ないでしょう。
Hack The Vote writeup
16/11/05 08:00 - 16/11/07 08:00 JST
https://pwn.voting/
TSGで参加しました。
(satos,cookies,yamaguchi,hakatashi,moratorium08,nolze,dai,gasinくらい)
14th. 2901pts.
問題はまあ、よかったんじゃないでしょうか。
関わったVoter Registration, TOPKEK, Trump Trumpのwriteup書きます。
続きを読む