読者です 読者をやめる 読者になる 読者になる

cookies.txt      .scr

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

x64の呼出し規約とva_argとprintfと

今日やったことの報告です。

続きを読む

jekyllを使ってthemeを使わないgithub pagesが本当に更新されなかった話

解決法

_config.ymlに、

auto: true
server: true

を書き足す。(どちらが効果があったのかはわからない)

以降は読まなくていい
続きを読む

vim-quickrunでリモートでテストする(アセンブリ演習のため)

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

www.adventar.org

この記事ではなんらすごい技術をしてるわけではないです。ただ環境を整えたよーってだけです。
アセンブリ演習を履修している人向けの記事です。

12/15 3:31追記 この記事はわりと無意味なものとなりました。外部通信が可能にされたことが発覚したからです。これをしなきゃいけない理由があまり思いつかない...

続きを読む

お誕生日プレゼント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回、それぞれ駒場祭で部誌を作りました。
特に去年はわりと試行錯誤感があったのに対し、今年はそれをなんとなく覚えていたのと人員が増えたこともあってわりとスムーズに印刷ができました。
その知見をここに書いておきます。

続きを読む