cookies.txt      .scr

ただのテキストファイルのようだ

お誕生日プレゼントvimrc

この記事はTSG Advent Calendarの8日目の記事として書かれました。

www.adventar.org

先月はyamaguchi氏のお誕生月でした。おめでとうございます。
今年のお誕生日プレゼントは.vimrcを書いてあげることにしました。昨年はTwitterの三文字アカウントをあげました。

リクエストは大きくは、

  • 複数ファイルの編集を楽に
  • ファイル全体をインデントできるように
  • プロジェクトに含まれるファイルを表示

という感じでした。

バッファ移動

ちょうど最近、vim-airlineというものを知ったところでした。
github.com
powerlineというvimzshもtmuxもすごくなるやつがあったんですが、専用のフォントが必要だったり大変なので、(SSHでやるし...)

これにはtablineというextensionがあって、バッファ一覧が上に出てきてよかったのでこれを使いました。
https://github.com/vim-airline/vim-airline#smarter-tab-line
https://camo.githubusercontent.com/ba79534309330accd776a8d2a0712f7c4037d7f9/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3330363530322f313037323632332f34346332393261302d313439352d313165332d396365362d6463616461336631633533362e676966

あとは移動が楽になるように

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日目の記事として書かれました。

www.adventar.org

どうも。こおしいずです。
ご報告が遅れましたが、東京大学学部後期課程は今のところ理学部情報科学科に内定し、そこに進学するつもりです。*1

その理学部情報科学科内定勢は、オンラインのコミュニケーション手段として、SlackとWikiを使っています*2
URLが何処とは言いませんが、Wikiはさくらのレンタルサーバを借りて、そこにMediaWikiをインストールする形を取っています。(僕が借りたりインストールしたわけではありませんが。)

このMediaWiki導入時の問題がわりとさくらレンタルサーバ固有っぽいので書きます。
私は導入はやってません。他のレンタルサーバで個人用に導入したことはあって、対話的に丁寧な解説付きでできた記憶があるので、それはあまり問題ないでしょう。

*1:ここに東京大学の前期/後期課程、進学選択の仕組みについて書く気はありません。

*2:Twitterも多かれ少なかれ利用されていることは言うまでもありません。

続きを読む

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書きます。

続きを読む

TeraTerm + tmux + vimで、256色にする

今まで、Vimでcolorschemeをいじるときは、まともに動くcolorscheme探しだけをしていた。 Vimmerの人が大絶賛しているcolorschemeが動かないのはとても悲しかった。 ずっとそれで妥協していたが、今回それを治そうという気になったので、たくさん調べた。

結論

TERATERM.INIのTermType=xtermTermType=xterm-256colorに書き換える。

続きを読む