イナズマの日記

こんにちは。

Atommer「VimじゃTeletypeできないじゃん」Vimmer「え、できるけど^^」

f:id:inazuma110:20180919091842p:plain 別にTeletypeとか使う頻度低いけど、まぁできるに越したことはないよね。 日本語での解説記事がなさそうなので(あったら教えて)使い方を書いてみました。ちなみにTeletypeってのは一つのファイルをリアルタイムで共同編集する機能のことだと思ってください。

Installation

github.com

まず、これを落としてきてください。(インストール法はここでは割愛)

Python依存なので、もしpathを通してなかったら通し(方法はここでは割愛)*1、以下を実行します。

pip3 install neovim

次にここのアカウントを作ります。ここからGitHub連携させるのが楽でしょう。

作ったらホーム直下に.floorc.jsonを作ります。作成したアカウントに.floorc.jsonの内容があると思うのでそれをコピペすればおkです。 f:id:inazuma110:20180919112318p:plain これの黄色で囲まれてる部分を一番下までまるまるコピペです。

最後にvimで:UpdateRemotePluginを実行します。 これで準備OKです!!

Usage

3つコマンドを覚えておけばだいたい大丈夫です。詳しくGitHubのREADMEあたりを読みましょう。

  • :FlooShareDirPublic /path/to/files 全人類に公開します。
  • :FlooShareDirPrivate /path/to/files ↑のプライベート版

これらのコマンドを使ったとき、ワークスペースの名前も決定します。

  • :FlooJoinWorkspace https://floobits.com/owner/workspace_name 参加します。ownerとworkspace_nameは適宜変更しましょう。

最後に

ごめんなさい、ここまで書いてなんですがこの機能を使ったとき僕の環境下ではdeopleteが4にます。設定が悪いのか環境が悪いのか、相性が悪いのかはわかりませんが、この機能を使ってもdeopleteが使える人がいましたら、よかったらコメントお願いします。

*1::echo has('python3')で1が返ってくればおkです

Atom用のスニペットをVim用に変換するやつ

こんちゃーす、イナズマです。 この記事はAtomユーザー以外には無益です。Vimに移行する気が一ミリでもあるような(もしくはAtomVimを併用している)Atomユーザーを対象に書いてます。

はじめに

ちょっと前までAtomだけ使ってたんですが、最近はVimをよく使うようになりました。f:id:inazuma110:20180909074607p:plain 競技プログラミングにおいてスニペットは必須だと思っているので、Vimに乗り換えるにあたってスニペットの移行をしようと思いました。Vimスニペットには(安定の)Shougoさんのプラグインを使います。 github.com

んで、いざ移行しようと思ったもののAtomスニペットは.cson1というよくわからない形式で書かれていました。Vimスニペットも.snipというよくわからない形式で書く必要がありました。 つまり単純なコピペでは移行できません。しかもスニペット本文(っていえばいいのか?)も微妙に書き方が違うので結構書き直す部分がありそうです。う〜ん困った。

作った

ということで、AtomスニペットVimスニペットとして扱えるようにするnpmパッケージを作ってみました。 www.npmjs.com

最初はPythonで書こうと思ったのですが、csonっていう形式がよくわからなかったのでjsonに変換してくれるパッケージがあるNodeで書きました。 www.npmjs.com 使いにくい部分ありますが、最低限は動いてくれるかなと思います。

終わりに

文字がかなり読みにくいので文字色とか変えていこうかと思います。他にももう少し機能を追加する予定です。 すでにいくつか確認していますが、バグとかあったらIssueにおねがいします。

Issues · Inazuma110/snippets-resycler · GitHub


  1. あんまり調べてないので詳しくはわからないが、jsonにコメントとかがかけるらしい。あとcoffeescriptってのに関係があるとか。

俺のneovimがこんなに重たいわけがない

f:id:inazuma110:20180903051313p:plain

neovimが重い。正確に言えばdeopleteが重い。 起動後はじめてインサートモードに入ってから5秒くらい入力を受け付けなくなる。

OS再インストールしたりプラグイン出し入れしてようやく原因を突き止めた。 原因はこのプラグインだった。 github.com

確かvimに慣れてないころにvimの日本語入力がやりにくすぎて入れた気がする。どんなプラグインなのかもう覚えてないけど。 でも他のプラグインが日本語入力いい感じにサポートしてくれるからもう必要ないかな。

ということでeskk.vimを利用する際は一応ご注意を。

加藤純一の放送を見ながらコーディングをしたい

こんにちは。 今日はものすごく簡単なVimプラグインを作ってみたので紹介したいと思います。

皆さんは音楽を聞きながら作業することはあるでしょうか?ラジオを聞きながら作業をする、なんて人もいるかもしれません。

僕は、よくYoutubeやニコニコ等の動画サイトで雑談放送を見ながら作業することがあります。最近は加藤純一さんの放送をみながらコーディングをすることが多いです。

twitter.com

ch.nicovideo.jp

www.youtube.com

コーディング中はPCの画面いっぱいにエディタを広げたいので、放送ページは違うワークスペース、またはディスプレイに置く必要があります。しかし、ワークスペースに置くにしろ、2つ目のディスプレイに置くにしろ、エディタと放送ページを同時に視界に収めるのは困難でした。

そこで「普段使っているテキストエディタvim」を透過させ、その下に放送ページを置く」という工夫により、しばらくは不自由なくコーディングをしていました。 しかし、僕はcoloeschme「tender」が大好きなので、加藤純一さんの放送を見ているとき以外は透過したテキストエディタなんて使いたくありません。 github.com

はじめのうちは、加藤純一さんの放送を見るときだけinit.vimを書き換え、透過させていました。

しかし、それではやはりどうしようもなくめんどくさいので、これを機に前々から少し気になっていたvimプラグインの作成をやってみました。できたものがこれです。

github.com

air」という言葉に深い意味はありません。壁紙を透過させる…透明なものといえば……空!!みたいな感じで10秒くらいで決めました。

今回、vimscriptにはじめて触れてみましたが「あまりにも闇が深いので下手に触らないほうがいい」ということがよくわかりました。途中で意味不明エラーが出るなどしましたが先輩にほとんど解決してもらいました。なんとか解決しました。

いろいろ不具合があるかもしれませんが、よかったら使ってみてください。

MacでUbuntuを使おう!と思ったけどいろいろ設定が必要で大変だった

はじめに

こんにちは、イナズマです。
最近暑いですね。暑さに頭をやられて普段使っているキーボードを剥がして遊んでいたら、バックスペースキーが壊れてしまいました^^
(完全にキーボードクラッシャー)

f:id:inazuma110:20180728012740p:plain
暑さで頭がやられたイナズマ

LinuxMint19をdynabookで使っていたのですが、仕方がないので手元にある使ってないMacでも使ってやるかと思い立ち早速LinuxMint19をMacに入れてみたのですが、ネットワークドライバ?ぱそこんにわかなのでよくわからないのですがなんかそういうやつがうまく認識されなくてネットに繋げなくて困ってました。USBからブートしてる時は認識してくれるんですけどね。
そんなこんなで一週間くらい悪戦苦闘したのですが、諦めることに。ひとつ前の18.3も試してみましたがうまく行かず。もうLinuxMintを諦めてUbuntuを入れてみることにしました。(俺達の信じたUbuntuを信じろ) まずUbuntu18.04入れたのですが、LinuxMintと同じ症状が出てしまったの16.04入れてみるとうまくいきました。

しかーーーーーーーーーーーーーーーーし!!!!
MacUbuntuを動かすと(おそらくハード的な問題で)dynabookの時といろいろと挙動が違うではありませんか!!!!!!!!!!!!!!

いやほんとに全然挙動が違うんですよ。ここからその挙動治す方法書き連ねていきます。(これ普通にめっちゃだるいのでThinkPad買うことオススメします、マジで)
多分18も大して設定方法は変わりませんが、これはUbuntu16.04の記事です。これは一応忘れないでください。

設定方法

  • スクロールの逆転
    これは設定からやるだけです。マウスとタッチパッドからナチュラルスクロールにチェックを入れましょう。
  • fnキーの逆転
    /etc/rc.localに
echo 2 > /sys/module/hid_apple/parameters/fnmode

追記 18.04の場合は、/etc/modprobe.d/hid_apple.confに

options hid_apple fnmode=2

更に追記 OS再インストールしたらこの方法うまくいきませんでした。けどこのへんのページ参考にしたらいつの間にか治ってました。 AppleKeyboard - Community Help Wiki

を書き込むとfnキーを押さなくてもファンクションキーがいい感じに機能してくれます。

  • CMDキーを片方Altキーに割り当てる。
    これはまだ出来てません…だれか簡単にやる方法教えてください;;
  • タッチパッド一部無効化。
    Macタッチパッドが大きすぎるので右側の一部を無効化させたくなりますた。これは僕の好みだと思いますが一応。 まず、
grep range /var/log/Xorg.0.log

タッチパッドの大きさを確認します。次に、

synclient AreaLeftEdge=BEGIN AreaRightEdge=END

のような入力をします。この入力をするとX座標BEGIN〜ENDまでのタッチパッドのみが有効になります。BEGINとENDの値はお好みで調整してください。

  • PC閉じた時のバグ
    これはMacが原因かわかりませんがPCを閉じてサスペンドさせると、再び開いた時Ubuntuが戻ってこなくなります。このバグ?は /etc/modprobe.d/radeon-kms.conf(なければ作成する)というファイルに
options radeon modeset=0

と書き込めば治るはずです。

追記 またおかしくなりました…。サスペンドから復帰しない場合は諦めて再起動するしかないというのが現状です… 解決方法わかる人いましたら教えてください。

追記 おかしくなったのでUbuntu18.04入れ直しました。基本的にはここに書いてあることまま行えば不具合は治ります。 以下はすべてUbuntu18.04のみで試したことです。

  • Alt+tabでのアプリケーションを同じワークスペース限定にする。 ターミナルにて
gsettings set org.gnome.shell.app-switcher current-workspace-only true

最後に

ブログ書くの普通にめんどくさいですね… でもこれ忘れたらもっとめんどくさいことになるので嫌でも書いといたほうがいいかなと思い書きました。よかったら参考にしてみてください。