グレインの備忘録

プログラミング関係とかをつらつらと。

括弧の自動補完にlexima.vimを使う

Vim

以前の設定ではキーマップを駆使した汚い括弧補完を使っていた。 探してみると、もっと良さげなプラグインがあったのでそれに置き換えてみる。 導入 dein_lazy.tomlに追加。 [[plugins]] # lexima repo = 'cohama/lexima.vim' on_i = 1 後はインストールすれ…

deoplete環境でneosnippetを使えるようにする

neosnippetはスニペットを挿入できるプラグインだが、機能的にdeopleteと干渉する部分があるので少し工夫をする必要がある。 メモ程度に設定方法を残しておく。 参考:neovim で deoplete + neosnippet の連携をする 導入 dein.tomlとdein_lazy.tomlに以下の…

deinを真面目に設定してみる(TOML)

Vim

deinはvimrcに設定を書くだけでも使える。 しかし、一般的にはTOMLと呼ばれる外部ファイルに書くらしい。 TOMLファイルを利用する とりあえずTOMLを使う準備をしよう。 init.vimに以下の記述を追加する。 set runtimepath+=~/.vim/dein/repos/github.com/Sho…

Doxygenを導入してみる

Doxygenはソースに埋め込んだコメントを元にドキュメントを作成するツール。 メモ程度に導入方法をまとめておく。 導入 sudo apt -y install doxygen doxygen-gui graphviz あとは、 doxywizard を実行すればGUIが出てくるので、ウィザード通りにすすめる。 …

補助ライブラリでサクッとOpenGL(GLFW,GLEW)

OpenGLはプラットフォーム独立のライブラリだが、ウィンドウ管理などの面倒は見てくれない。 また、シェーダーを使うのには拡張機能を有効化する必要がある。 ウィンドウ管理や拡張機能の取得はプラットフォームごとに違うので、生のGLを扱うとそれなりに労…

タブ独立のファイルツリーで快適コーディング

Vim

やはり、ファイルツリーをVim内で開いておけると何かと便利だ。 ファイルツリーといえばNERDTreeが有名だが、それのタブ独立版があるそうなので試してみた。 vim-nerdtree-tabsのインストール まずはプラグイン導入から。 vimrcに追加 call dein#add('scrool…

C++補完用にdeoplete-clangを導入する

コードを書くにはやっぱり補完がないと辛い。 C++をNeoVimで書くならdeoplete-clangがベストチョイスのようだ。 導入 deopleteはNeoVimのRemotePlugin機能を使うのでpython-clientを入れておく必要がある。 以下のコマンドでインストールできる。 sudo apt -…

基本的なGitコマンドチートシート

初期設定など ユーザー設定(氏名とメアド) git config --global user.name "Grain" git config --global user.email grain@exout.net –globalによって設定が永続化する。 リポジトリ作成 対象フォルダにて git init コミット関連 ファイルのステージ git add <file></file>…

C++用のMakefileを半自動で書く

Makefileはうまく書けばコンパイルが自動化できて楽だが、ソースの登録が面倒くさい。 そこで、シェルスクリプトなどを活用して自動でMakefileを書いてみる。 (autoconfとかを使ってもいいのだけど、小規模なプログラムでいちいちconfigureするのも面倒だし…

lightline対応のカラースキーム "tender" を試す

Vim

以前lightlineを使ってステータスラインを格好良くしたが、このlightlineに対応した良さげなカラースキームがあったので試してみた。 tenderの導入 いつもどおりサクッと。 call dein#add('jacoborus/tender.vim') をvimrcに追加して :call dein#install() …

lightlineを使ってステータスバーを格好良くする

Vim

lightlineとは lightlineはVim用プラグインで、ステータスバーを格好良くできる。 変更前 変更後 また、この手のプラグインの中では取り回しのしやすい方らしい。lightline.vim作りました - プラグインの直交性について 導入 とりあえずpluginを入れる。 vim…

Ubuntu 16.04のapt updateでappstreamcliがクラッシュする

Ubuntu 16.04をインストールした直後に sudo apt -y update とするとなぜかAbortする。 どうやらappstreamcliがクラッシュしているらしい。 一旦appstreamcliを無効にする 調べたらドンピシャの記事があった。 ubuntu-16-04のapt-updateでappstreamcliが固ま…

VMWareでの激重を解消

Windows上でLinuxを使うならやはり仮想化が一番。 しかし、VMWare上でUbuntuを走らせるとどうにも動作がもっさりしている。 いったい何が原因なのか。 vmemへの書き込みをやめさせる 色々調べてみると、vmemにスワップとしてデータを書き込んでいるのが悪い…

Vim(NeoVim)でクリップボードを使う

Vim

vimはデフォルトでクリップボードとデータをやり取りできない。 xclipを導入することで使えるようになる。 sudo apt -y install xclip これで使えるようになった。

Vim(NeoVim)を導入したらとりあえずしとく設定

Vim

インデント関連 set autoindent "自動インデント set tabstop=4 "タブ幅 set shiftwidth=4 "自動インデント幅 set noexpandtab "タブをスペースに展開しない set softtabstop=0 "タブ幅(入力時) その他表示関連 set number "行番号表示 syntax on "シンタッ…

Visual StudioのNDK開発でデバッグ時に「ステップできません。このメッセージは間違っているか、転送中に壊れました。」と出る

AndroidNDKのデバッグでステップできない VisualStudioのNDK開発でデバッグ時にステップ実行をしていると 「ステップできません。このメッセージは間違っているか、転送中に壊れました。」 と出ることがある。一旦こうなると困ったもので、ステップもできな…

Android NDKでboost::filesystemが使えない

前回(Android NDK r11cでboost 1.61.0をビルド - グレインの備忘録)の続き。 リンクエラーになる boost::filesystemを使ったアプリをコンパイルするとリンカエラーが出てしまう。 libs/filesystem/src/path.cpp:function (anonymous namespace)::path_locale…

Android NDK r11cでboost 1.61.0をビルド

NDKでboost使おうと思ったら結構大変だったのでメモ。 まずビルドのやり方を調べてみて、良さげだったのがこのページ。 c++ - How to compile Boost 1.61 for Android NDK 11 - Stack Overflow ここの2番目のポストのやり方でほぼ完全にうまくいった。 一応…

バイナリモードのfseekとfwriteの挙動

バイナリファイルで一旦fwriteした後に前方へfseekして、もう一回fwriteすると上書きされるのか挿入されるのかたまに忘れるのでメモっとく。 結論から言うとfseekしてからfwriteすると元のデータは上書きされる。(まあ当たり前か) 例えば、新規ファイルにつ…