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 に合わせてキーマップを変更した。あと自分用に少し追加。 制限 秀丸は C-x s と C-x C-…

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…

dot.emacs の設定

dot.emacs。 追加で使っているelispは cygwin-mount.el, doxymacs.el と gtags.el くらい。 (global-set-key [delete] 'delete-char) (global-set-key [kp-delete] 'delete-char) ;; open #include <...> file (global-set-key "\C-c\C-h" 'ff-find-other-fi…

StoreBuffer(仮)

StoreBuffer とりあえずコンパイル通った版。 #include <stdio.h> #include <string.h> #include "type.h" #include "util.h" #include "Dmac.h" #include "StoreBuffer.h" #define MAX_STORE_BUFFER_NUM 4 #define MAX_LINE_NUM 32 #define MIN_LINE_SIZE 16 typedef struct ST</string.h></stdio.h>…

既にある自分の Cygwin 環境で gnupack の emacs だけ使ってみたい

うちの環境は 64bit Windows 10 で Cygwin 64bit 版を利用している。 emacs は Cygwin に入っていたのをターミナルで使っていたが、最近そぞろに GUI 版を使いたくなってきたので gnupack の emacs を入れることにした。 ここにその顛末を述べたいと思う。 g…

とりあえず動いた memcpy4

// g++ -g -Wall -std=c++14 -o memcpy4 memcpy4.cpp #include <cstdio>#include <cstdlib>#include <cstdarg>#include <cstring>#include <cassert>#include <iostream> using namespace std; #define ASSERTF(assertion, ...) do { if (!(assertion)) { assertf(__FILE__, __LINE__, __func__, __VA_ARGS__); }} w</iostream></cassert></cstring></cstdarg></cstdlib></cstdio>…

C++ Atomic operations についてのメモ

mutex が必要ないわけではないということ atomic より粒度が大きいが現在でも有効な排他制御の手段。ということでいいかな。 粒度の細かい順に並べると atomic_thread_fence, atomic_flag atomic mutex, condition_variable lock_guard, unique_lock, once_f…

Windows 10 に teraterm を入れる

teraterm を入れた。 Tera Term (テラターム) プロジェクト日本語トップページ - OSDN からダウンロードしてきてインストール。そのときのバージョンは 4.87 cygterm.cfg 消える問題 teraterm を Program Files (x86) フォルダにインストールした場合、変な…