Rust でう~ん?と思うところのメモ

expect というメソッド名 Perl の die() に似ている関数で、エラーメッセージを出してプログラムを強制終了(Rustでは panic!()) する Result 型にあるメソッド。 APIリファレンス(↗)をみると、 引数に渡すメッセージがどうあるべきか(Common Message Style ↗…

Rust Memo

Rust 本家 Rust本家 Rustプログラミング言語 ドキュメント Rustを学ぶ - Rustプログラミング言語 標準ライブラリのリファレンス std - Rust Playground Rust Playground Rust By Example (RBE) Introduction - Rust By Example . この記事は主に RBE をベー…

WSL に最新の ubuntu をいれる(emacsも apt install した)

Ubuntu 18.04 LTS というのを使っていたが、Windowsストアにバージョン無しの Ubuntu があるのでこっちも入れた。中身は Ubuntu 20.04 LTS らしい。 これまでバージョンがあがると別アプリになっていたけど、一本化したのかな。 1. Windows の機能の有効化ま…

新しい consel-gtags.el を試してみたらパッチが必要だった

こまった counsel-gtags--select-file-ivy-parameters でコールしている string-empty-p という関数がないようで動かない。 Symbol’s function definition is void: string-empty-p とエラー終了。 対応 『やさしい Emacs-Lisp講座』を参考に scratch バッフ…

2次方程式の新しい解法のおためし実装

2次方程式の新しい解法 ↓ こんな記事を見かけた 天才数学者が二次方程式の簡単な解き方を考案!「推測も暗記も必要ない」 | ナゾロジー 計算だけで二次方程式が解けるそうな。 プログラムにしてみる 計算だけでできるならコンピュータ向き。 ためしにそのア…

Windows10 で pip install がエラーになる例の件

本を買った 東京大学のデータサイエンティスト育成講座 Pythonで手を動かして学ぶデ―タ分析 説明にあるとおりに Anaconda をインストールして、 condas-datareader と Plotly を pip install でインストールしようとしたら pip install がエラーを吐く。 そ…

Cygwin で java を動かす

Cygwin には java は付属してないみたい setupで検索しても出てこない。 cygwin の setup で java を検索している画 でもWindows でインストールしていれば使える $ type java java は /cygdrive/c/ProgramData/Oracle/Java/javapath/java です でも実行する…

Emacsでカーソル周辺のキーワードをpythonに渡して処理させる elisp スクリプト

Emacsでカーソル周辺のキーワードをpythonに渡して処理させる elisp スクリプト eslip はこんなの。 (defun call-external-script-test () (interactive) (let* (cur beg end str cmd) (save-excursion (setq cur (point)) (setq beg (+ cur (skip-chars-bac…

Windows 上で、hta アプリの設定を JSON ファイルに保存する Javascript クラス。localstorage 風味。

MyStorage.hta <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Class Test</title> <meta name="viewport" content="width=device-width, initial-scale=1"> …</meta></meta></meta></head></html>

秀丸のキーアサインをEmacs風にする

秀丸のキーアサインを Emacs 風にする VS Code に Emacs Friendly Keymap という Extension を入れて Emacs 風の キーマップにしたので、秀丸も Emacs Friendly Keymap に合わせてキーマップを変更した。あと自分用に少し追加。 ダウンロード ぼくの秀丸マク…

Windows のファイルをドラッグ&ドロップして Cygwin 上のコマンド、スクリプトを実行するための Python スクリプト

モチベーション cygwin 上で動くスクリプトをエクスプローラーからドラッグ&ドロップして実行させたかったので作成。 ただし、ドロップするファイルの絶対パス中に日本語があるとうまくいかない。 (英文字だけなら動く) Python ver >>> import sys >>> sys…

タスクごとにフォルダを掘る作業を自動化する Python スクリプト

モチベーション 一度に複数の仕事が降ってくるので、タスクごとにフォルダを掘って関連する資料を一か所にまとめるようにしている。 それからそのタスクの作業ログを専用のテキストファイルに書いている。 テキストファイルは週一でバックアップしていて、す…

VS Code のキーバインディングを Emacs 風にしてみた

↓この Extension を利用(キーバインディングもここに書かれている) https://github.com/SebastianZaha/vscode-emacs-friendly 日本語キーボードだとちょっとキーアサインが異なる模様 ドキュメントの記述 日本語キーボードの場合 説明 C-; C-: 行のコメン…

Python メモ

win32com を使ってショートカットを作る ↓参考にしたサイト [python] デスクトップにショートカットを作る | Reincarnation+ #!/usr/bin/python3 # -*- coding: utf-8 -*- import win32com.client # ショートカットを作る def win32_create_shortcut(target_…

Emacs が遅くてつらい

Emacs 26.1 を使っているが、C/C++のコードにコメントを付けているとだんだん遅くなる。 それで、しょうがなく、コメントを書くときは text-mode にして書いている。 text-mode にすると速くなるのは、おそらく font-lock に原因があるんだろうけど、 Netを…

VS Code の統合ターミナルを Cygwin にする

以前の記事 nodamotoki.hatenablog.com で WSL を統合ターミナルにして C++ のビルドまでやるようにしてみた。 しかし、職場ではWSLが使えないらしいので、Cygwin を統合ターミナルとして使えるようにしてみる。 といっても、VSCode のサイト↓にやり方は書い…

vi_memo

少し前に Emacs 使いの私に vi を教えてくれという人がいた。 vi か。 社会人になって初めて触ったエディタは vi だった。 10ページほどの手作りの教科書を見ながらそこに書かれている操作をすべて覚えたとき、 vi のすべてを理解したとおおきな達成感に包ま…

Emacs helm のこと

helm のいろいろ。 helm-follow-mode helmセッションが有効なときに C-c C-f で helm-follow-mode (HF) の有効・無効を切りかえられる。 HFが有効なとき、候補選択と同時にその候補をすぐ表示する。 有効でないときは C-j (helm-execute-persistent-action)…

Edebug を使った Emacs Lisp のデバッグ(書きかけ)

『改訂版 やさしいEmacs-Lisp講座』を読んで Edebug の存在を知ったけど、Edebugの終わらせ方が分からず調べたので、そのメモ。 出典 17.2 Edebug Edebug - GNU Emacs Lisp Reference Manual 17.2.2 Instrumenting for Edebug Instrumenting - GNU Emacs Lis…

Info の読み方

Emacs で C-h i とすると info を開けるが、操作方法をメモ。 Info は Emacs 上で見る方法とは別に info コマンドでも見られる。 操作はどちらもほぼ同じ。 かなり入り組んだ、直感的でない操作性だよね。いつまで経っても覚えられない。 基本的な Info の使…

Visual Studio Code で C++ 開発 with Windows Subsystem for Linux (OS は Windows 10 ですよ)

最近にわかに Visual Studio Code (VSCode) のお勉強をしています。 以前の記事 WSL を使って Windows 10 の上で Linux を動かす - ある日録 で Windows Subsystem for Linux (WSL)と、その上に Ubuntu を入れたので、VSCode と WSL を使ってC++のビルドとか…

WSL を使って Windows 10 の上で Linux を動かす

Windows 10 で Linux を動かす Windows10 は何回か大きなバージョンアップがあって、そのたびに Linux を動かす機能をすこしずつ強化してきた。 2016/08/24 の Aniversary Update で少し動くようになり、 2017/07/28 Creators Update でもっと動くようになっ…

#if 0 で囲まれた「文字」のほうの色を変える方法

はじめに vim では、はじめから当たり前のように #if 0 をコメントと同じ色で表示してくれるのに Emacs ではそうはいかない。困ったもんだ。 一応 cpp-highlight-buffer を使うと「背景色」を変えるのは比較的簡単にできる。 (簡単と言ってもけっこう癖ある…

vimdiff の設定と使い方

これから仕事で vimdiff を使いそうなので情報収集。 cygwin だと vimdiff 単体では Setup.exe の検索には引っかからないけれど vim を入れると vimdiff もついてくる。 ~/.vimrc 設定 set nocompatible " 画面表示の設定 set number " 行番号を表示する set…

ターミナルの Emacs で linum-mode にすると行番号とファイルの内容がくっついてしまう

フォーマットを指定すればいいだけだった。なんだ。簡単だなあ。 (global-linum-mode t) (setq linum-format "%4d ") %4d + スペース一つというフォーマットにした。

TeraTerm で動かしている Emacs でマウスを使えるようにする

マウストラッキング TeraTerm などのターミナル上で動く(ホスト側の)アプリケーションは、マウスのカーソル位置などの情報をターミナルソフトに要求して受け取る機能がある。 TeraTerm はデフォルトでこの要求に答える設定になっているので、ホスト側で動…

Emacs の標準のインデント動作を変更したい -- namespace ではインデントしたくないんだ! --

問題点 namespace の {} 内でインデントしてしまう。 namespace My { namespace World { void func() { // ... } } } namespace はネストすることも多いし、インデントしたくないなあ……。 例えばこんな感じで…。 namespace My { namespace World { void func…

TeraTerm 上で Emacs を動かすと utf8 の罫線が短くなる問題の処方箋

問題点 Utf8 の罫線(等)を表示するときに TeraTerm で変な変換をかけているらしい。 外国のひと向けに罫線の長さを半角にして表示している様子。 罫線を全角表示したいわれわれ古い日本人には必要ない設定のようだぞ。 処方箋 TERATERM.ini の設定を変更す…

git difftool で WinMerge を起動する方法 for Cygwin

cygwin なので cygpath での変換が必要。 $ git config --global diff.tool WinMerge $ git config --global difftool.WinMerge.cmd \ "\"/cygdrive/c/Program Files (x86)/WinMerge/WinMergeU.exe\" \ -u \`cygpath -am \"\$LOCAL\"\` \`cygpath -am \"\$RE…

dot.bashrc の設定

dot.bashrc の設定。 alias ls='ls --show-control-char' alias ll='ls -l' alias lld='ls -ld' alias lla='ls -la' #alias e='emacs-w32.exe -r' #alias e='emacs' alias e='/app/cygwin/emacs/bin/emacs' export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF…