約 4,588,712 件
https://w.atwiki.jp/linux-memo/pages/25.html
トップページ コマンドリスト [#c8fc3446] 基礎的コマンド [#j25a4e87] ファイル・ディレクトリ管理 [#r3a04bed] プロセス管理 [#redcb7b4] システム管理 [#ofa4d6ec] 個人環境設定 [#efa4afd9] コンパイラ・デバッガ・プログラミング [#u6f854c9] 検索 [#ne462f54] ウィンドウマネージャ [#va873c12] 音楽・オーディオ [#z9f41e6f] 映像・画像・ドローツール [#h75b6d1b] ネットワーク [#c33114df] アーカイブ・圧縮・エンコード・デコード [#d0adf3c5] シェル・シェルの内部コマンド [#pd87c3d7] alias コマンドの別名 (エイリアス) を設定する。シェルの内部コマンド。 [#y83cb267] 日本語 [#u954232c] TeX・印刷 [#w4ea95e5] 調べる (ファイル・漢字コードなど) [#j90615f4] メール [#b386d1f3] 数学 [#fc1fccb2] エディタ・ビュアー [#q3a9ec3c] X Window System [#pbbc9324] WWW [#t7494aeb] 時計・アクセサリなど (Xアプリケーション) [#n3525e83] 小物類 (文字列処理など) [#w8847090] ゲーム [#z777cbb6] スクリーンセーバー・お遊びツール [#e3c65201] コマンドが実行できないとき [#v31206d6] 未整理 [#b204983b] コマンドリスト 基礎的コマンド cat ファイルの内容を表示する(パイプ)。複数のファイルを連結する cd カレントディレクトリを変更する。シェルの内部コマンド chdir カレントディレクトリを変更する。cd と全く同じ chmod ファイル・ディレクトリの属性を変更する。 cp ファイルをコピーする emacs 高性能エディタ grep 指定のパターンにマッチする行を表示(パイプ) gzip 高機能なファイル圧縮・伸長ツール (gunzip) less ファイル表示プログラム (ページャ) ls ファイル・ディレクトリを表示 man オンラインマニュアルを表示する more ファイル表示プログラム (ページャ) mv ファイルの移動、リネーム (名前変更) pwd カレントディレクトリを表示する。 rehash ハッシュテーブルを再構築する。csh・tcsh の内部コマンド rm ファイルの削除 tar アーカイバ。複数のファイルを1つにまとめる。 vi 基本的なエディタ ファイル・ディレクトリ管理 bsdiff バイナリパッチ作成 (差分・差異・比較) bspatch バイナリパッチ適用 chflags ファイルのフラグを変更する chgrp ファイルの属するグループを変更する chmod ファイル・ディレクトリの属性を変更する。 chown ファイルの所有者、所有グループを変更する cksum ファイルのチェックサムを表示する cmp 2つのファイルの比較。最初に違いが見つかった行番号と文字数を表示する。 dd ファイルのコピー・ディスクダンプ・バックアップ・リストア・ファイル作成 df ディスクの使用状況を表示 diff ファイルの違いを表示。パッチを作成。(差分・差異・比較) diff3 3つのファイルの違いを表示 (差分・差異・比較) du 指定ディレクトリ以下のディスク使用量を再帰的に表示する fd ファイル・ディレクトリ管理ツール fsck ファイルシステムの矛盾の検出・修復 fuser ファイル・ソケットを使用しているプロセスを表示 (Solaris・Linux) ldd ダイナミックリンクの関係を表示 ln ハードリンク・シンボリックリンクを張る。 ls ファイル・ディレクトリを表示 md5 ファイルのチェックサムを求める md5sum ファイルのチェックサムを求める mkdir 新しいディレクトリを作る patch パッチを当てる rm ファイルの削除 rmdir ディレクトリの削除 script コンソールへの出力をファイルに書き出す。 stat ファイルの詳細な情報を表示 touch ファイルのタイムスタンプを変更、ファイルを新規作成する umask ファイル・ディレクトリ生成マスクの設定。シェルの内部コマンド。 xdelta バイナリパッチ作成・適用 xdtm ファイラー xdu du の出力を図で表示する xfm GUI インタフェースを持つファイルエディタ プロセス管理 kill プロセス・ジョブを殺す killall コマンド名を指定して kill nice プライオリティ (優先順位) を変更して実行する nohup ログアウトしても処理を中断させない ps 実行中のプロセスの情報を表示 renice 現在実行中のプロセスのプライオリティ (優先順位) を変更する suspend シェルを一時中断する。csh・tcsh・bash の内部コマンド top プロセスの状態をリアルタイムに表示 xkill Xアプリケーションを終了させる システム管理 MAKEDEV デバイスファイルを作成する。FreeBSDのみ? ac ログイン時間の記録を表示 [#dc367c57] accton アカウント情報ログファイル作成の許可/禁止 adduser 新規ユーザを追加する (FreeBSD) at 実行時間を指定してコマンドを実行 atq at で指定されたコマンドのリストを表示 catman オンラインマニュアルの整形を行う chflags ファイルのフラグを変更する cron スケジューラデーモン。クーロン。 crontab スケジュールを登録。決められた時刻にプログラムを実行する。クーロン。 dmesg システムのメッセージを表示 freebsd-update FreeBSD のバイナリ更新を行う。Windows Update のようなもの fstat 現在オープンしているファイルの情報を表示 halt シャットダウン kbdcontrol キーボードの種類を決める last 過去のブート、シャットダウン、ログインの記録を表示 lastcomm これまで実行されたコマンドの一覧を表示 ldconfig 共有ライブラリを検索するパスを設定 ldd ダイナミックリンクの関係を表示 lsdev 現在のシステムで有効なデハイスを表示 mount ファイルシステムをマウントする newaliases /etc/aliases の情報を更新する。 ntpdate 自動的に時刻を修正する pkg_add パッケージのインストール。FreeBSD のみ。 pkg_delete パッケージの削除。FreeBSD のみ pkg_info パッケージの情報を表示。FreeBSD のみ pkgadd パッケージのインストール。Solaris のみ。 pwd_mkdb パスワードファイルを作成する reboot システムを再起動する rmuser システムからユーザを削除する。FreeBSD のみ。 rup リモートマシンの状態を表示する sa 実行されたコマンドの統計を表示 shutdown システムをシャットダウンする su root (スーパーユーザ) になる。他人の名前でログインする sudo 他ユーザ権限でコマンドを実行する swapinfo スワップ領域の情報を表示 sync ディスクキャッシュをフラッシュする umount マウントの解除 uname システムの情報を表示 uptime ホストの情報を表示 useradd 新規ユーザを追加する (Linux, Solaris) vipw パスワードファイルを編集する vmstat 仮想メモリの状態を表示 xcpustate CPUの状態をグラフで表示 xload システムの負荷を表示する xsysinfo システムの状況をグラフで表示 xsysstats システムの状況を表示 個人環境設定 bindkey tcsh の機能をキーに割り付ける。tcsh の内部コマンド。 chpass ユーザの個人情報 (ログインシェル・リアルネームなど) を変更する。 chsh ログインシェルを変更する complete コマンドの引数の補完の設定をする。tcsh の内部コマンド crontab スケジュールを登録。決められた時刻にプログラムを実行する。クーロン。 id ユーザの UID、GID、グループ名を表示 leave ログアウトする予定の時間を知らせる limit プロセスへの各種の制限を設定する。csh・tcsh の内部コマンド。 lock ターミナルをロックする。 mesg 他ユーザからのメッセージの表示の許可/不許可を設定 passwd パスワードを変更する。 printenv 現在設定されている環境変数を表示。 quota ディスク割り当て状況を表示 set シェル変数を設定する。csh・tcsh の内部コマンド。 setenv 環境変数を設定する。csh・tcsh の内部コマンド。 source ファイルに書かれたコマンドを実行する。csh・tcsh・bash内部コマン unalias エイリアスの設定を解除する。シェルの内部コマンド uncomplete complete の設定を解除。tcsh 内部コマンド unhash コマンド検索にハッシュテーブルを使用しない。csh・tcsh 内部コマンド。 unlimit リソース制限を解除。csh・tcsh 内部コマンド unset シェル変数を削除。csh・tcsh 内部コマンド unsetenv 環境変数を削除。csh・tcsh 内部コマンド xev X のイベントを表示 xmodmap X 上でのキーをカスタマイズする xset X Window System の各種設定を行う。 コンパイラ・デバッガ・プログラミング a2p awk スクリプトを perl スクリプトに変換する ar アーカイバ as アセンブラ awk テキスト整形ツール(パイプ) bison 構文解析パーサ生成プログラム cc C コンパイラ cccc C言語・C++・Java ソースコードステップカウンタ (行数カウント・ステップカウント・ステップ数) cflow Cのソースを解析して、どの関数内からどの関数を読んでいるか表示する。 configure Makefile 生成スクリプト cpp C プリプロセッサ f77 Fortranコンパイラ file2c 標準入力から読み込んだ文字列を ASCII コードに変換する。 flex 字句解析パーサ生成プログラム gas GNUアセンブラ gcc GNU C/C++ コンパイラ gcore 実行中のプロセスのコアを得る gdb デバッガ gmake GNU make gprof grep 指定のパターンにマッチする行を表示(パイプ) indent C のソースを整形する (パイプ) kdump ktrace ld リンカ。リンクエディタ lex 字句解析パーサ生成プログラム lint Cプログラムの文法チェッカ m4 マクロ言語プロセッサ make 依存関係を調べて最適な実行をする。 nm 実行ファイル、ライブラリのシンボルテーブルを表示 p2cc Pascal コンパイラ perl 高機能プログラミング言語。awk・sed・C などの便利なところだけを引き継いだ。 sed 文字列の置換を行う strip 実行ファイルからリロケート情報とシンボルテーブルを削除する。 trace truss プログラム中のシステムコール呼び出し部分をトレース unifdef プリプロセッサの条件式を削除する wish シンプルウィンドウシェル? xmkmf Makefile 作成ツール yacc 構文解析パーサ生成プログラム 検索 agrep 曖昧検索を行う grep egrep 拡張正規表現を使える grep fgrep 正規表現が無効となる grep。 find ファイルを検索する。 grep 指定のパターンにマッチする行を表示(パイプ) locate ファイルをデータベースから検索する。 xargs 標準入力から引数を読み込み、指定のコマンドを実行する zgrep 圧縮してあるファイルを grep する ウィンドウマネージャ afterstep NEXTSTEP 風のウィンドウマネージャ enlightenment グラフィカルなウィンドウマネージャ fvwm 複数の仮想画面を持つウィンドウマネージャ fvwm2 fvwmのバージョン2。 fvwm95-2 Windows95 風のウィンドウマネージャ。 twm 基本的なウィンドウマネージャ xsm X session manager 音楽・オーディオ amp MPEG AUDIO Layer3 (MP3) プレイヤー cda CDプレイヤー cdcontrol CDプレイヤー cdplay CDプレイヤー cdplayer CDプレイヤー gogo MP3 エンコーダ mpg123 MPEG AUDIO Layer3 (MP3) プレイヤー mxaudio GUIインタフェースを持ったMPEG AUDIOプレイヤー playmidi MIDIプレイヤー。FreeBSDでは音が悪いという噂がある。 sox サウンドファイルのコンバータ splay MP3、waveの再生ツール tosha CD から音楽データを吸い出すツール workman CD プレイヤー xanim アニメーション、音声データを表示 xaudio MPEG AUDIO プレイヤー xmcd CDプレイヤー 映像・画像・ドローツール ImageMagick グラフィックユーティリティ cjpeg 画像ファイルを JPEG 形式に変換する convert 画像ファイルを変換する (ImageMagick) display 画像を表示・編集する(ImageMagick) dvi2ps DVI ファイルを PostScript 形式に変換する flame フラクタル画像を描く gimp 高機能グラフィックツール gnuplot グラフ描画プログラム gs ghostscript。PostScript (ポストスクリプト) 形式のファイルを表示する identify 画像ファイルのフォーマット・サイズなど調べる (ImageMagick) import ウィンドウの画像をダンプする maplay MPEG AUDIO プレイヤー netpbm 画像処理プログラム tgif ドローツール xanim アニメーション、音声データを表示 xli 画像をX上で表示する。xloadimage の発展版。 xloadimage 画像を表示 xmandel マンデルブロ画像を描く xpaint ペイントツール xsetroot ルートウィンドウに白黒の画像を張り付ける。 xv 多機能グラフィックツール。 xwd ウィンドウの画像をダンプする xwud xwd で作ったファイルを表示する ネットワーク archie コマンドラインで FTP サイトから検索する。 bfilter 個人向け HTTP proxy (プロキシ) ethereal パケット監視ツール fetch FTP・HTTP ダウンローダ finger 現在ログインしているユーザ名を表示。ユーザの個人情報を表示 ftp ファイル転送ユーティリティ host hostname ホスト名を表示 ifconfig ネットワークインタフェースの設定を行う inetd ポートを見張り、クライアントからのリクエストがあるとサーバプログラムを起動する。 mesg 他ユーザからのメッセージの表示の許可/不許可を設定 ncftp 高機能 ftp クライアント netstat ネットワークの使用状況を表示 nslookup IP アドレスを FQDN に、FQDN を IP アドレスに変換する phone 高機能 talk。日本語(かな文字)を表示することができる ping 指定のホストとのパケットの送受信ができるかを調べる ppp ダイヤルアップ PPP 接続する rcp リモートホスト間でファイルをコピー rlogin リモートログイン。 rsh リモートシェル socat ソケットリレーツール (proxy) talk 他ユーザとリアルタイムで話す。 tcpdump ネットワーク上を流れるパケットを監視する telnet リモートホストにログインする traceroute ネットワークがどのように接続されているか表示する w 現在ログイン中のユーザ名と、各ユーザが実行中のプロセス名を表示する。 who 現在ログインしているユーザ名を表示する。 whois ネットワークの企業・個人情報を調べる write ログイン中の他ユーザにメッセージを表示する xarchie anonymous FTP サイトのファイルを検索する xftp インタラクティブな ftp ツール xhost Xサーバへのアクセスの許可・不許可を設定する xntpd NTP サーバ。 アーカイブ・圧縮・エンコード・デコード base64 BASE64 エンコーダ・デコーダ bzip2 gzip より圧縮率の高い圧縮・伸長ツール (bunzip2) compress ファイルを圧縮する gzcat 圧縮されたファイルの内容を伸長せずに表示。実行ファイルは gzip と同じ。 gzexe 実行ファイルを圧縮して、自己伸長型の実行ファイルを作る。 gzip 高機能なファイル圧縮・伸長ツール (gunzip) lha LHA・LZH ファイルの管理ツール tar アーカイバ。複数のファイルを1つにまとめる。 uncompress compress 形式の圧縮ファイル (*.Z) を伸長する unzip ZIP 形式のアーカイブを伸長・展開する uudecode テキストをバイナリファイルに変換 uuencode バイナリファイルをプレインテキストに変換 zcat 圧縮されたファイルの内容を表示 zdiff 圧縮されたファイルの差分を表示 zforce ファイル名を*.gzにする(?) zipinfo ZIP 形式のアーカイブの情報を表示 zmore 圧縮されたファイルの内容を表示する znew .Z (compress) ファイルを .gz (gzip) に変換 シェル・シェルの内部コマンド alias コマンドの別名 (エイリアス) を設定する。シェルの内部コマンド。 bash 高機能版 sh。バッシュ。 bg 指定したジョブをバックグラウンドで実行する。シェルの内部コマンド。 bindkey tcsh の機能をキーに割り付ける。tcsh の内部コマンド。 builtins tcsh の内部コマンド一覧を表示 complete コマンドの引数の補完の設定をする。tcsh の内部コマンド csh Cシェル exec 現在実行中のシェルに代わり、指定したコマンドを実行する exit 現在のシェルを終了する。シェルの内部コマンド。 export 環境変数を設定する。sh・bash の内部コマンド。 fg 指定したジョブをフォアグラウンドで実行する for 指定されたコマンドを一括して実行する。sh・bash の内部コマンド foreach 指定されたコマンドを一括して実行する。csh・tcsh の内部コマンド history 過去にタイプしたコマンドを表示する。csh・tcsh内部コマンド。 jobs 実行中のジョブを表示 limit プロセスへの各種の制限を設定する。csh・tcsh の内部コマンド。 rehash ハッシュテーブルを再構築する。csh・tcsh の内部コマンド set シェル変数を設定する。csh・tcsh の内部コマンド。 setenv 環境変数を設定する。csh・tcsh の内部コマンド。 sh シェル (Bシェル、ボーンシェル) suspend シェルを一時中断する。csh・tcsh・bash の内部コマンド tcsh csh のユーザインタフェイスを強化したシェル telltc ターミナルの設定を表示。tcsh の内部コマンド test 条件式評価プログラム type コマンドのフルパスを表示。sh・bash 内部コマンド unalias エイリアスの設定を解除する。シェルの内部コマンド unhash コマンド検索にハッシュテーブルを使用しない。csh・tcsh 内部コマンド。 unset シェル変数を削除。csh・tcsh 内部コマンド unsetenv 環境変数を削除。csh・tcsh 内部コマンド where コマンドのフルパスを表示。csh・tcsh 内部コマンド which コマンドのフルパスを表示 日本語 coco コード変換、コード判定を行う(パイプ) elvis 日本語を表示できる vi euctosj 文字コードを変換する (パイプ) gawk GNU awk。日本語も扱える。 iconv 文字コードを変換する (パイプ) jcatman 日本語マニュアル対応の catman jless 日本語を表示できる less jman 日本語のオンラインマニュアルを表示 kakasi 漢字をひらがな・カタカナ・ローマ字に変換 kinput2 日本語を入力するためのツール。 kon コンソールで日本語を表示する kterm ターミナルエミュレータ。xterm の日本語対応版 mule 多国語エディタ。nemacs の後継エディタとして開発された。 nkf 文字コードを変換する (パイプ)。また、MIME、ROT13/47 なども変換できる。 qkc 漢字コードを変換。改行コードを変換。 TeX・印刷 dvi2ps DVI ファイルを PostScript 形式に変換する dvi2tty DVI ファイルをコンソールでプレビューする gs ghostscript。PostScript (ポストスクリプト) 形式のファイルを表示する jlatex TeX コンパイラ xdvi DVI ファイルのビュアー 調べる (ファイル・漢字コードなど) bytebench coco コード変換、コード判定を行う(パイプ) du 指定ディレクトリ以下のディスク使用量を再帰的に表示する file 指定されたファイルを解析して、ファイルの種類を表示する。 grep 指定のパターンにマッチする行を表示(パイプ) id ユーザの UID、GID、グループ名を表示 info info ドキュメント閲覧ツール jman 日本語のオンラインマニュアルを表示 ls ファイル・ディレクトリを表示 man オンラインマニュアルを表示する wc ファイルの行数、単語数、サイズを表示(パイプ) whatis オンラインマニュアルから検索 where コマンドのフルパスを表示。csh・tcsh 内部コマンド whereis コマンド、ソース、マニュアルのパス名を検索して表示する which コマンドのフルパスを表示 xdu du の出力を図で表示する メール biff メールの到着を知らせるかどうかを設定する。 from 到着したメールの送り主一覧を表示 mail 簡易的なメーラー mew 高機能メーラー。 newaliases /etc/aliases の情報を更新する。 popclient POPクライアント。 procmail メール自動処理プログラム sendmail メール管理プログラム xbiff メールの到着を知らせる。biff の X アプリケーション版。 [#o91baef3] xfmail メイルユーティリティ [#n062cb13] xpbiff メールの着信を知らせる。 [#s21924ba] 数学 arithmetic 簡単な算数の問題を出題する bc 計算機 calc 簡易計算機 dc 逆ポーランド記法の計算機 factor 数字が素数かどうか調べる gnuplot グラフ描画プログラム hexcalc 2進、8進、10進、16進数の計算ができる電卓 primes 素数を調べて表示 xcalc 電卓。Xアプリケーション エディタ・ビュアー beav バイナリエディタ・ビュアー elvis 日本語を表示できる vi emacs 高性能エディタ hexdump ダンプ jless 日本語を表示できる less less ファイル表示プログラム (ページャ) more ファイル表示プログラム (ページャ) mule 多国語エディタ。nemacs の後継エディタとして開発された。 nemacs 日本語を扱える emacs vi 基本的なエディタ view vi と同じ操作方法のビュアー xemacs emacs の別実装 xless ファイルのビュアー zmore 圧縮されたファイルの内容を表示する X Window System Eterm 背景に画像を貼れるターミナルソフト X Xサーバ XF86Setup Xの設定を行う。XFree86 3.2から付属。 XF86config Xの設定を行う。 bdftopcf kterm ターミナルエミュレータ。xterm の日本語対応版 mkfontdir X のフォントのインデックスファイルを作成 showrgb X 上で使える色と、その名前の対応表を表示 startx X Window System を起動する xcb カットバッファ xcolors 色のサンプルを表示 xconsole コンソールの出力を監視する。 xdm X Window System のログイン画面を表示 xdpyinfo Xサーバの情報を表示 xev X のイベントを表示 xfd 指定フォントの各文字の情報を見る。 xfontsel Xのフォントを対話的に見る xinit X サーバを起動するプログラム xkill Xアプリケーションを終了させる xlock X画面のロック xlsclients X上のプログラムのインフォメーションを表示 xlsfonts 使用可能なフォント名の一覧を表示 xmessage メッセージウィンドウを表示 xprop ウィンドウのプロパティを表示 xrdb X のリソースを登録する xrefresh X画面を再描画 xset X Window System の各種設定を行う。 xterm X 上での端末エミュレータ。日本語を表示する場合は kterm を使う。 xwd ウィンドウの画像をダンプする xwininfo 指定されたウインドウの情報の表示 xwud xwd で作ったファイルを表示する WWW Mosaic apache 高機能WWWサーバ bfilter 個人向け HTTP proxy (プロキシ) fetch FTP・HTTP ダウンローダ ftp ファイル転送ユーティリティ lynx テキストブラウザ mosaic Web ブラウザ mozilla オープンソースのブラウザ netscape www ブラウザ url_get URLを指定して、webページを取得する。 weblint HTMLの文法をチェックする wget HTTP・FTP ダウンローダ wwwstat WWWサーバのログを解析する。 時計・アクセサリなど (Xアプリケーション) sunclock 地球のどの部分に太陽の光があたっているかを表示 xcalender メモ機能を持つカレンダー xclock X アプリケーションの時計。その他 時計の紹介。 xengine 4サイクルレシプロエンジン xephem 地球、月などの天体情報を表示 小物類 (文字列処理など) Tee tee の進化版 awk テキスト整形ツール(パイプ) basename パス名+ファイル名からパス名を削除する col エスケープシーケンスを取り除く(フィルタ) cut テキストを切り出す(パイプ) date 現在の時刻 (日時) を表示・設定する dirname パス名+ファイル名からファイル名を削除する echo 文字列を表示 env 環境変数をセットしてコマンドを実行 expand ファイル中のタブをスペースに変換する (パイプ) fold テキストを一定幅に整形する(パイプ) hd ダンプ [#b8575cad] head ファイルの先頭部分を表示 (パイプ) hexdump ダンプ jot 連番・ランダムデータを生成 od ファイルのダンプ printf C の printf(3) と同じような出力ができる sed 文字列の置換を行う sleep 指定秒数だけ動作を止める sort 文字列をソートする(パイプ) split ファイルを複数のファイルに分割する。結合は cat で行う。 strings ファイルから文字列と思われる部分を探して表示する。 tail ファイルの最終部分を表示 (パイプ) tee パイプからの入力を標準出力と指定ファイルに書き出す(パイプ) textutils テキスト処理パッケージ time プログラムの実行時間を計測する tr 文字の置換を行う unexpand ファイル中のスペースをタブに変換する(パイプ) uniq 連続する同じ行を1行にまとめる wc ファイルの行数、単語数、サイズを表示(パイプ) yes 指定の文字列を表示し続ける。 ゲーム fortune jnethack ローグ風のゲーム(日本語版) oneko ねこがマウスを追いかける rain 雨が降るデモ swisswatch xbill ビルゲイツをやっつけるゲーム xboing ブロック崩しゲーム xevil ゲーム xgal ギャラガ(ゲーム) xneko ねこがマウスを追いかける スクリーンセーバー・お遊びツール decayscreen 画面が溶けていくデモ。スクリーンセーバか? greynetic 長方形をランダムに描く halo 画面にサークルを描く helix らせん模様を描く hopalong フラクタル画像を描く hypercube 4次元物体を2次元で表示 imsmap フラクタル画像を描く maze 迷路を作る pedal きれいな画像を描く stars 星が流れるデモ xearth ルートウィンドウに地球を表示 xeyes マウスポインタを追いかける目玉を表示 xeyes+ マウスポインタを追いかける目玉を表示 xgc Xのグラフィックデモ xgolgo マウスポインタを追いかける目玉を表示 xlock X画面のロック xlogo X のロゴを表示 xphoon ルートウィンドウに月面を表示 xroach ウィンドウの下をゴキブリが這う xscreensaver スクリーンセーバ コマンドが実行できないとき apropos キーワードにマッチしたオンラインマニュアルを表示 find ファイルを検索する。 ldd ダイナミックリンクの関係を表示 locate ファイルをデータベースから検索する。 man オンラインマニュアルを表示する whatis オンラインマニュアルから検索 where コマンドのフルパスを表示。csh・tcsh 内部コマンド whereis コマンド、ソース、マニュアルのパス名を検索して表示する which コマンドのフルパスを表示 xman オンラインマニュアルビュアー 未整理 CVSチュートリアル応用編 複数人での開発・タグ・ブランチ CVSチュートリアル基礎編 バージョン管理ツール (基礎編) CVSトピック編 CVS に関するいろいろな情報 CVS運用編 CVS をお仕事なプロジェクトに導入するには a2ps テキストファイルを Postscript に変換する appres Xのリソースの設定を表示 astrolog 占星術のプログラムらしい banner 大きい文字を出力 bdes ファイルを暗号化・復号化する(パイプ) bonnie ディスクベンチマーク bonnie++ ディスクベンチマーク cal カレンダーを表示する clear 画面の消去 comm 2つのファイルの違いの表示 crypt 暗号化・復号化ツール cu モデムのチェック。 dig 名前解決を行う fdformat フロッピーディスクをフォーマットする filepp 独自拡張プリプロセッサ getopt ghostview Postscript ファイルのビュアー。 grance top のようなものらしい。HP-UX のみ。 grdc コンソールに時計を表示 gzrecover 壊れた gzip ファイルをリカバリする (破損/復旧/復活/gzip Recovery Toolkit/gzrt) idprio アイドルスケジューリングを使用する init ログイン処理の初期化 kcon キーボードのコントロールとマッピング lesskey less のキーバインドを変更 listres ウィジェットリソースのリストを表示 look 英単語のつづりを調べる。 lsof オープン中のファイル一覧や、ファイルをオープンしているプログラムの一覧を表示 manpath man が参照するディレクトリを表示 mbmon PC のマザーボード監視ツール (ハードウェアモニタツール) mc ファイル・ディレクトリ管理ツール mkfile サイズを指定したファイル生成 (ファイル作成) mtools MS-DOSフォーマットのフロッピー用のツール集 openssl 暗号化・復号化・公開鍵などを扱うツール povray レイトレーシングツール (3D 画像作成ツール) priocntl プロセスのスケジューリングポリシーをセット readline 行入力支援ライブラリ realpath 相対パスを絶対パスに展開する rename rename というコマンドは UNIX にはない。mv を参照。 route ルーティング情報の設定・表示 rsync ファイル・ディレクトリのバックアップ・ミラーリング rtprio リアルタイムスケジューリングを使用する sockstat ソケット情報を表示する (FreeBSD) stty ターミナルの設定を行う tip リモートシステムに接続する(cu) tree ファイル・ディレクトリをツリー形式で表示する ulimit プロセスへの各種の制限を設定する。sh・bash の内部コマンド。 unmount umount の誤記? users 現在ログインしているユーザ名を表示 wall ログイン中の全ユーザに対してメッセージを送信 whoami ユーザ名 (ログイン ID) を表示 xauth X サーバへの接続を管理する xkeycaps キーボードの設定 xscreensaver-command xscreensaverに命令する xtar GUIインタフェースを持つ tar
https://w.atwiki.jp/kenichiro/pages/104.html
Carbon Emacsをインストールしていること前提。 ターミナルでemacsと打ったときにCarbon Emacsが起動するようにaliasを設定。 alias emacs= /Applications/Emacs.app/Contents/MacOS/Emacs とターミナルで打つ。 でもこれだとターミナルを起動する度に打たなければいけないので、.bash_profileに記述しておく。
https://w.atwiki.jp/ntemacs/pages/25.html
【お知らせ】が長くなってきているので、設定ファイルのあるリポジトリの URL を最初に掲示しておきます。 https //github.com/smzht/fakeymacs 【お知らせ】 ● Fakeymacs_お知らせ ← 以前に掲示した【お知らせ】をこちらにまとめています。Fakeymacs を使う上で大切な内容も書かれていますので、併せて確認ください!! 2016/10/28 追記 本設定を公開して4年が経過しようとしています。その間改善を続け、“Keyhac の config で XKeymacs の代わりになるものを実現する”という当初の目標は概ね達成できたのではないかと思っています。そこで、本設定にニックネームを付けることとしました。 nickname Fakeymacs 今後も末永くご利用いただければと思います。 2024/06/04 追記 【Windows11】レジストリをいじってJIS配列とUS配列を共存させる https //qiita.com/k4nade/items/1f7d59927298544ee7ab 2023/08/27 追記 Fakeymacs には概ね次の機能が取り込まれています。 alt-ime-ahk:https //github.com/karakaram/alt-ime-ahk ULE4JIS:https //github.com/dezz/ULE4JIS/blob/master/publish/Readme.txt IME indicator:https //forest.watch.impress.co.jp/docs/review/1405793.html Dual Monitor Tools の Supersize active window(拡張機能 window_operation で対応):https //dualmonitortool.sourceforge.net/ SpaceFN(拡張機能 space_fn で対応):https //geekhack.org/index.php?topic=51069.0 2023/06/29 追記 Emacs キーバインドを利用しないアプリで、メニューの操作用の Emacs キーバインドを設定する拡張機能を作成しました。Tera Term などのメニューを持ったアプリで利用することを想定しています。 https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/menu_key 2022/12/03 追記 日本語キーボードと英語キーボードの共存(Windows) https //tek2tech.com/different-language-settings-in-one-pc/ 2022/08/01 追記 github1s.com の Fakeymacs フルサポートを止めました。代わりに、github.dev をご利用ください。 2022/06/23 追記 日本語キーボードの設定がされている OS で、英語キーボードを使えるようにするための機能を追加しました。fc.use_usjis_keyboard_conversion 変数により、Fakeymacs 起動時にこの機能を有効にするかを指定できます。ランチャーメニューの一番最後に表示されるメニューから、手動で切り替えることもできます。お試しください。 2022/06/02 追記 Fakeymac で複数のウィンドウを行き来して利用する場合は、次のような操作で行うと便利です。 使わないウィンドウは閉じる(C-x C-c) 直ぐに使わないウィンドウは最小化(A-m)する 開いているウィンドウの切り替えは、ウィンドウめくり(A-n、A-p)か other_window(A-o)で行う(A-Esc と異なり、A-n、A-p は最小化しているウィンドウをめくりの対象外とする) other_window で切り替えの対象として使いたいウィンドウは、ウィンドウリスト(A-l)で選択する ウィンドウめくりの切り替え対象に加えたいウィンドウは、ウィンドウリスト(A-l)の m マークの行から選択する ブラウザに移動して検索したい場合には、browser_key Extension を利用する(C-A-l でブラウザが開いて、アドレスバーに移動する) 以上は複数の仮想デスクトップを跨いで機能します。 2022/05/17 追記 Fakeymacs では仮想デスクトップの機能を強化する SylphyHorn というソフトウェアと連携可能としています。このソフトウェアは Windows 11 では動作しませんが、Windows 11 でも動作可能にした SylphyHornPlus という Fork が有りましたので紹介しておきます。 https //github.com/hwtnb/SylphyHornPlusWin11 https //hoge-gadget.com/article/blog/windows11%E3%81%A7%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E5%BC%B7%E5%8C%96%E3%82%BD%E3%83%95%E3%83%88%E3%81%AEsylphyhorn%E3%82%92%E4%BD%BF%E3%81%86 2022/05/05 追記 IME の状態をテキスト カーソル インジケーターの色で表現する機能を追加しました。次のページを参考にしてテキスト カーソル インジケーターを有効にし、fc.use_ime_status_cursor_color 変数を True にしてご利用ください。 https //faq.nec-lavie.jp/qasearch/1007/app/servlet/relatedqa?QID=022081 2021/02/23 追記 VSCode で Emacs キーバインドを利用するにあたり、VSCode の Emacs Keymap Extension よりも Fakeymacs の方が便利だと思う点を挙げてみました。 VSCode のいたるところで Emacs キーバインドが使える(検索条件入力フィールド内で Ctrl+y(ヤンク)が使えたり、Side Bar に Ctrl+0 で移動して Ctrl+n で移動ができたりするなど、エディタ部以外でも Emacs キーバインドが使えます) Ctrl+q を先行入力する方法や、fc.side_of_ctrl_key 変数/fc.side_of_alt_key 変数で設定した側でない Ctrlキーや Altキーと組み合わせたキーを入力する方法により、VSCode デフォルトのショートカットキーも利用できる 日本語入力モードで Ctrl+x プレフィックスキーを利用したキー入力を行った場合の誤動作が発生しない(Ctrl+x o と入力すると「o」が「お」と漢字で入力されるなどが発生しません) 普段 Fakeymacs を使っていれば、そこで慣れたキー操作が VSCode でもほぼそのまま利用できる(A-k が使えるなど) redo が使える(C-/ で undo しているときに C-g を入力すると redo となります。これは Emacs の作法に則った機能です) キーボードマクロが使える(VSCode はマルチカーソルが使えるので、あまり活躍する場面は無いような気はします。また、VSCode には Keyboard Macro Beta という Extension もあります) 日本語入力時に、Emacs のキーバインドをベースとしている「ことえり」-like のキーバインドが使える(Fakeymacs では IME のキーバインドをカスタマイズすることもできます) マルチカーソルの機能が矩形選択の機能とシームレスに動作する(専用のキーバインドを割り当てることで実現しています) クリップボードリスト(A-y)、ランチャーリスト(A-l)の機能が使える 拡張機能 shell_command_on_region を有効にすることで、Emacs のコマンドの shell-command-on-region と同等の機能が使える(VSCode には shell-command-on-region と同等の機能を持つ、Filter Text という Extension もあります) vscode.dev(https //vscode.dev)、github.dev(https //github.dev)でも、Fakeymacs 側の設定のみで Emacs キーバインドが動作する 機能の拡張が容易にできる(Python でのコーディングとなります。Extension 構築時のパッケージングの作業が不要で、拡張した機能をすぐ試すことができます) 一方、Fakeymacs の方が劣っていると思う点としては次のようなものがあると思います。 VSCode の Emacs Keymap Extension でサポートしているが、Fakeymacs ではサポートしていない機能がある(paragraph や sexp の単位の移動など) Fakeymacs は VSCode の When を認識できないので、細かい制御ができない(Terminal の中だけで機能するショートカットキーが定義できないなど。ただし、Fakeymacs では fc.use_direct_input_in_vscode_terminal 変数を有効にすることでこの制約の回避策が機能するようにしています) 一部のキーに割り当てている機能を Command Palette 経由で実行しているため、多少動作が遅い機能がある(逆に言うと、Fakeymacs では Command Palette 経由で実行できることはなんでもキーに割当てができます) Windows でしか動かない(Mac 用の Keyhac もあるのである程度の機能の移植は可能と思います。ただし、私が Mac の環境を持っていないので対応できません) 2022/03/14 追記 Fakeymacsにウィンドウめくりの機能を追加しました。仮想デスクトップを跨ぎ、最小化されていないウィンドウを順に切り替えます。初期設定のキーバインドは、A-p と A-n です。 2022/01/05 追記 Fakeymacs に shell-command-on-region Extension を構築していますが、VSCode のみであれば以下の VSCode Extension の Filter Text が利用可能なようです。お試しください。 https //marketplace.visualstudio.com/items?itemName=yhirose.FilterText 2021/12/29 追記 次のページのコメントにも記載されている Microsoft Word のテキストボックスで発生する問題(Ctrl の押下によりレイアウトオプションのサブウィンドウが表示し、そこにカーソルが移動してしまう)について、Fakeymacs でも対策してみました。お試しください。 https //now-in-eternity.blogspot.com/2020/05/built-ergodash-keyboard-with-emacs-key-bindings.html 2021/11/12 更新 ブラウザで vscode.dev を指定した際に開く VSCode の画面では、Ctl-x b で発行している C-Tab がブラウザ側でキャッチされ、ブラウザのタブを切り替えてしまいます。 このため、fc.vscode_target 変数に指定したブラウザで vscode.dev を開き、Ctl-x b を実行した 場合には、コマンドパレットで Quick Open Privious Recently Used Editor in Group を実行する ようにし、VSCode の機能が働くようにしています。 C-Tab は 従来どおりブラウザで機能しますので、vscode.dev を利用する場合には、C-Tab と Ctl-x b を使い分けるようにしてください。 (この対応により、ブラウザで vscode.dev を開いていない場合に Ctl-x b を発行すると、 おかしな動き(F1 の実行により、ヘルプの画面が表示される)となります。ご留意ください。) 2021/11/12 更新 ブラウザで vscode.dev を指定した際に開く VSCode の画面では、M-k や Ctl-x k で 発行している C-F4 がブラウザ側でキャッチされ、ブラウザのタブを閉じようとしてしまいます。 このため、fc.vscode_target 変数に指定したブラウザで vscode.dev を開き、Ctl-x k を実行した 場合には、コマンドパレットで Close Editor を実行するようにし、VSCode の機能が働くように しています。 M-k は 従来どおり C-F4 を発行するのみの機能としていますので、vscode.dev を利用する場合 には、M-k と Ctl-x k を使い分けるようにしてください。 (この対応により、ブラウザで vscode.dev を開いていない場合に Ctl-x k を発行すると、 おかしな動き(F1 の実行により、ヘルプの画面が表示される)となります。ご留意ください。) 2021/10/21 追記 全ての機能は確認していませんが、Fakeymacs は https //vscode.dev/ でも動きます。VSCode 用に拡張したキーバインドを使うためには、fc.vscode_target 変数に利用するブラウザを設定する必要があります。 https //pc.watch.impress.co.jp/docs/news/1360273.html 2021/09/24 追記 半角と全角の入力を間違えた際、入力モードの切り替えと入力文字の変換を行う zenkaku_hankaku Extension を追加しました。 https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/zenkaku_hankaku 2021/09/10 追記 change_keyboard Extension の見直しを行いました。 https //w.atwiki.jp/ntemacs/pages/90.html https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/change_keyboard 2021/09/06 追記 60% US キーボードのキー不足(Delete キー、Backquote キー不足)の対策を行う compact_keybord Extension を追加しました。 https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/compact_keyboard 2021/08/19 追記 GitHub のリポジトリ画面で「.」(ドットキー)を押すとVisual Studio Codeが起動するそうです。 https //www.itmedia.co.jp/news/articles/2108/12/news145.html 2021/08/18 追記 Chromium 系ブラウザのバージョン 92 では、アドレスバーにカーソルを移動した際、強制的に ASCII入力モードに移行する不具合?が発生します。 https //did2memo.net/2021/07/22/chrome-japanese-ime-off-issue-chrome-92/ さらに Google日本語入力を利用している場合、keymap.getWindow().getImeStatus() の値が正しく返されないため、Emacs日本語入力モードの挙動がおかしくなります。この問題の対策を行いました。 ⇒(2021/09/17 追記)バージョン 93 で対策されました。再発する可能性もあるため、対策コードは残しておくこととしました。(有効の有無を切り替えるパラメータの追加で対応しました。) 2021/08/09 追記 Windows 11 でも動作することを確認しました(Windows Insider Program beta channel の Windows 11 で確認)。一部、config.py の見直しをしましたが、基本機能に問題はありませんでした。 2022/06/23 追記 QMK で Emacs キーバインドを実現した方が居ます。プロセスによって有効無効を切り分けることはできませんが、キーボードだけで Emacs キーバインドを実現できていることは興味深い試みと思います。 https //now-in-eternity.blogspot.com/2020/05/built-ergodash-keyboard-with-emacs-key-bindings.html https //github.com/orihikarna/qmk_ergodash_emacs_keymap 2021/05/08 追記 VSCode の機能に性能向上対策を行いました。また、VSCode の機能の説明文の集約・整理を行いました。 2021/05/05 追記 goto-line と VSCode の goto-error のサポートを行いました。 2021/04/23 追記 Google 日本語入力を選択している状態で、クリップボードリストからの文字列の選択を行うと、その文字列がテキスト入力エリアに反映されない場合があるようです。文字列が反映されない場合でも選択したその文字列がクリップボードに格納はされるので、yank(C-y)すると反映されます。この現象は、MS-IME を選択しているときには発生しないようです。また、Fakeymacs の設定によるものでないことは確認しています。 2021/04/19 追記 fc.not_clipboard_target_class 変数で、clipboard 監視の対象外とするウィンドウのクラスネームを指定できるようにしました。WPF アプリが clipboard 監視と相性が悪いため、HwndWrapper で始まるクラスネームを持つ WPF アプリを指定できるようにする対策です。 2021/04/11 追記 ウイルス対策ソフト Avast Free antivirus を利用していて keyhac.exe がウイルスとして検知される場合には、以下のページの内容に従い確認ください。 https //itojisan.xyz/trouble/17226/ ウイルスかどうかの判定は、次のサイトも利用できます。 https //www.virustotal.com/gui/home/upload 2021/01/14 追記 指定したキーを押下したときに IME の状態を表示する拡張機能を追加しました。 2021/01/14 追記 ウィンドウフォーカス変更時にIMEの状態を表示する機能を追加しました。 2021/01/05 追記 次の拡張機能をお試しください。一度利用し始めると、離れられなくなる拡張機能になると思います。 https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/browser_key 2020/12/13 追記 次のページの内容で、¥キーと変換キーへのスキャンコードの割当て方法を見直しました。 英語キーボード設定の OS で日本語キーボードを使うときの情報まとめ 関連して、次の設定も見直ししています。 https //github.com/smzht/fakeymacs/tree/master/fakeymacs_extensions/change_keyboard 2020/11/02 追記 Emacs のコマンド shell-command-on-region を実現する拡張機能 shell_command_on_region をリリースしました。詳細は次のページを参照してください。 https //github.com/smzht/fakeymacs/blob/master/fakeymacs_manuals/extensions.org 2020/09/06 追記 ショートカットキーが何のアプリで使われているかを調べられるサイトを見つけましたので紹介します。 https //defkey.com/ 2020/08/06 追記 お薦めの設定を最初に紹介しておきます。 HHKB の英語キーボードの場合、DIP スイッチで ◇ キーに Win キーを割り当てて ◇ キーと Alt キーを入れ替える設定(Pro2/HYBRID-US の場合、SW1 ON、SW2 OFF、SW4 OFF、SW5 ON)をし、KeySwap というソフトで RWin キー(キーの位置は、DIP スイッチの設定で右の Alt キーとなっている)に RCtrl キーを割り当てる。(LWin キーに RCtrl キーを割り当てる方法もあるので、お好みでどうぞ。その場合、config.py の fc.side_of_win_key 変数に "R" を設定する必要があります。) HHKB 以外のキーボードの場合、KeySwap というソフトで CapsLock キーに RCtrl キーを割り当て、config.py で fc.side_of_ctrl_key 変数に "R" を設定する。(LCtrl キーは Windows ショートカット用のキーとして利用できる。) その他は、config.py の最初の方にある変数設定の説明を読んで、適宜設定の調整をしてください。 2020/05/17 追記 IME の再変換を行う機能を追加しました。 キー設定の初期値は C-t としています。 日本語入力確定後に C-t を押すと、「確定取り消し」として機能します。(Windows 10 May 2020 Update の新しい Microsoft IME では「確定取り消し」のキー設定が見つからないので、「再変換」が機能するようにしています。) 文字列の選択(リージョンの設定)をして C-t を押すと、「再変換」が機能します。 文字列が選択されているか(リージョンが設定されているか)は fakeymacs.forward_direction が設定されているかで判断しているため、マウスではなくキーボードによる選択が必要です。 Microsoft IME の場合、文字列を選択せずに C-t を押すと、カーソル位置近くの文節で「再変換」が機能します。 Emacs日本語入力モードを有効にしている場合、「確定取り消し」や「再変換」の状態になると、Emacs日本語入力モードが機能するようにしています。 この機能の追加に合わせ、 fc.emacs_ime_mode_key 変数(Emacs日本語入力モードを利用する際に、IME のショートカットを置き換えるための変数)を「ことえり」のキーバインドで機能するように設定を有効化しています。 ⇒(2020/10/10 追記)VSCode では、IME の再変換の機能がうまく動かないようです。 2020/05/03 追記 次のページを作成しました。 英語キーボード設定の OS で日本語キーボードを使うときの情報まとめ 2020/04/28 追記 レジストリを用いたキーを置き換えるソフトには、KeySwap や Change Key というものがあります。KeySwap は US キーボード表記に対応している、Change Key はキーボード上に存在しないキーの設定ができるなど、一長一短がある状況です。私は KeySwap をメインとして利用し、数値でのスキャンコードの指定が必要な場合は Change Key を利用しています。Change Key で設定した内容は KeySwap でも参照できますので、相互利用する上での問題はありません。詳しくは次のページを参照してください。 https //up2me.hatenablog.com/entry/switching_japanese_ime_on_windows10 2020/04/26 追記 Fakeymacs は、カーソルキーの無い HHKB US版 を有効に利用するために作成しました。私も HHKB を使っており、キーボードの背面スイッチと KeySwap や Keyhac の設定により、次のとおりのキーの割り当てにして使っています。 左 ◇ キーに LAlt キーを割り当てる LAlt キーに LWin キーを割り当てる 右 ◇ キーに RAlt キーを割り当てる(Windows ショートカットキーを入力するために利用できます。Windows ショートカットキーを入力するためには、LCtrl+q + Alt キーを使う方法もあります。) RAlt キーに RCtrl キーを割り当てる(Windows ショートカットキーを入力するために利用できます。Windows ショートカットキーを入力するためには、LCtrl+q + Ctrl キーを使う方法もあります。) (使っている方は少ないと思いますが..)初代 HHKB で ◇ キーに Alt を割り当てるには、以下の方法が利用できます。 1) HHKB の Mode SW を 3 に設定する(HHKB 背面スイッチの説明:https //www.pfu.fujitsu.com/hhkeyboard/leaflet/hhkb_backview.html) 2) KeySwap を管理者権限で起動する 3) キーボード種別を一旦「日本語」にし、画面に表示されるキーボードを利用して 無変換キーを 左 Alt キーに、変換キーを 右 Alt キーに置き換える 4) キーボード種別を「英語」に戻し、左 Alt キーを 左 Win キーに、右 Alt キーを 右 Ctrl キーに置き換える 5) 一応ファイルに保存し、KeySwap を終了する 6) Windows をログインし直す なお、次のサイトに HHKB 誕生の経緯が書かれています。HHKB に Meta(◇)キーがある理由や HHKB が emacs での利用を想定して作られたキーボードであることなどが書かれてありますので、興味のある方は一読ください。 http //www.wide.ad.jp/About/report/pdf1995/part19.pdf http //member.wide.ad.jp/~wada/bit.hhkbd/hhkbd.html 2020/04/25 追記 次のページにも書かれていますが、JetBrains 製の IDE で Alt のワンショットモディファイアの機能を使って IME の切替えをする場合には、ツールボタンをオンにして利用する必要があるようです。 https //github.com/karakaram/alt-ime-ahk 設定は、View - Appearance - Tool Window Bars を有効にしてください。 2016/09/15 追記 ESC を素の ESC として使いたい場合は、fc.use_esc_as_meta 変数を False に設定してください。⇒(2020/10/16 追記)現在の初期値は False となっています。 C-v をペーストとして使いたい場合は、fc.scroll_key 変数を None に設定してください。 その他のカスタマイズ設定については、configure 関数の初めの方でカスタマイズ用の変数の設定をしていますので、そのコメントを参照してください。 【本題】 Windows の操作を Emacs のキーバインドで行うための設定(Keyhac版)です。次のリポジトリから必要なファイルをダウンロードしてお使いください。 https //github.com/smzht/fakeymacs 使い方は上記ページの README に記載しています。 Keyhac は XKeymacs と異なり、IME による日本語入力中であることを判定することができません。このため、日本語入力中に IME の変換操作を行う方法として、以下の2つの方法を提供しています。 1) Emacs日本語入力モード (利用するかは fc.use_emacs_ime_mode 変数で設定。初期値:True(使う)) IME が ON の時に文字(英数字か、スペースを除く特殊文字)を入力すると起動するモードです。(モードに入ると、▲のマークが表示されます。) Emacs日本語入力モードになると Emacsキーバインドとして利用できるキーが限定され、その他のキーは Windows にそのまま渡されるようになるため、IME のショートカットキーを利用できるようになります。詳しい仕様は、「Fakeymacs_お知らせ」の 2020/04/23 更新 の内容を参照ください。 2) その他の方法 (本設定の仕様としてデフォルトで利用可能) 本設定で置き換えしていないキーを入力する。(但し、Ctrl とアルファベットを組み合わせたキーは、ほぼ全て置き換えがされています。) fc.side_of_ctrl_key 変数や fc.side_of_alt_key 変数で設定した側でない Ctrlキーや Altキーと組み合わせたキーを使う。 入力するキーに先行して C-q を入力する。(Emacs日本語入力モードを使っていない場合に有効な方法です。) 認識はしているのですが対策できていない課題 として以下のものがあります。 powershell.exe では起動直後に C-w や C-k で切り取りをした際や、通常の利用時でも行の最終カラムで C-k を入力した際などにエラーとなる。これは既知の問題のようでもあり対策できていない。(Keyhac を利用していない状態でも、未入力の状態で C-a - C-x を入力すると発生します。) ⇒ (2019/04/01 追記)Windows 10 1809 で試したところ、この問題は改善されたようです。 コマンドプロンプトで漢字を入力した際、行末までの削除(C-k)の挙動がおかしくなる。漢字を含む行で End キーが正常に動作しない問題によるもの(コマンドプロンプトのバグ?)なので、対策は難しい状況である。 ⇒ (2019/07/18 追記)Windows 10 1903 で試したところ、この問題は改善されたようです。 Microsoft Edge で C-v が正常に機能しない。(C-v で PageDown キーを発行するようにしているが、これが C-PageDown と認識されているような気がします。) ⇒ (2020/01/16 追記)2020/01/15 にリリースされた Chromium版 Edge では、この問題が発生しないことを確認しました。 仮想デスクトップでの利用を踏まえ、ウィンドウの最小化は現在のデスクトップ内に表示しているウィンドウに対してのみ行われるようにしているが、最小化しているウィンドウのリストアは複数のデスクトップに渡って行われてしまう。 TeraPad で C-k による行末削除ができない。(対策は不可能と思われますので、C-d をお使いください。) Windows 7 から Windows 10 へアップデート後、Edge やコルタナなどで Google 日本語入力が利用できない場合は、次のページを参照してください。 https //productforums.google.com/forum/#!topic/ime-ja/5CCIenG_0Zw https //productforums.google.com/forum/#!topic/ime-ja/xBJLDHyJVw0 CapsLockキー への Ctrlキー の割当ては、次のページにある KeySwap というソフトが便利です。 http //www.vector.co.jp/soft/winnt/util/se228667.html fc.side_of_ctrl_key 変数を "R"(右)とし、CapsLockキーに RCtrlキーを割り当てることで、LCtrlキーで利用可能な Windowsショートカットキーとの共存が容易になると思います。(RCtrlキーも Windowsショートカット用のキーとして使いたい場合は、RCtrlキーに LCtrlキーを割り当てる必要があります。) また、Altキーは親指で操作できる場所のキーに割り当てると使い勝手が良いように思います。 変更履歴 Fakeymacs_変更履歴 ← 2017年以前の変更履歴をこちらにまとめました。 2018/02/23 clipboard 監視の対象外とするアプリケーションソフトで copy / cut した場合でも、クリップボードの内容をクリップボードリストに登録するように対策した。 2018/04/10 以前に行った clipboard 監視の対象外とするアプリのコピペ対策が Excel で正常に動作しない状況があったので、その改善を行った。 2018/06/01 kill-buffer に Ctl-x k とは別に M-k も割り当てた。 2019/03/27 キーボードマクロ記録と再生の開始時に IME を強制的に OFF にするようにした。 2019/03/27 数引数を指定してキーボードマクロを再生した際の再生再現性を高めた。 2019/07/06 checkWindow 関数のチェック方法を正規表現からワイルドカードに変更した。 2019/07/10 ウインドウが切り替わった後に最初に入力した文字が二回入力される現象の対策を行った。 2019/07/10 F2(編集モードに移行)を割り当てる方法を汎用化し、explorer.exe を追加した。 2019/07/17 reset_region 関数の見直しを行った。 2019/07/17 keyboard_quit 関数で Esc を発行するアプリの見直し等を行った。 2019/07/21 2019/07/10 に実施した文字が二回入力される対応の改善を行った。 2019/07/24 ウィンドウのリストアが最小化した順番の逆順にならなくなっていたのを対策した。 2019/11/20 Emacsシフトモードを利用していない場合、シフトキー+移動キーでリージョンの設定ができる機能をサポートした。 2020/01/07 設定の除外ターゲットにリモートデスクトップを追加した。 2020/03/13 Microsoft Excel 2019 のセル内の文字列の改行対策を行った。 2020/03/16 Microsoft PowerPoint でも Word と同様の改行対策を行った。 2020/03/13 「IME を無効にするキー」と「IME を有効にするキー」を設定できるように fc.set_input_method_key 変数を追加した。 2020/04/23 ワンショットモディファイアの機能を利用し、左右の Alt キーで IME を切替えられるようにする機能を追加した 2020/04/26 数引数の指定に Ctrl + 数字キーを使うかどうかを指定する変数を追加した。 2020/04/26 Alt + 数字キー列や Alt + Shift + 数字キー列によるファンクションキー入力機能を追加した。 (function(i,s,o,g,r,a,m){i[ GoogleAnalyticsObject ]=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document, script , //www.google-analytics.com/analytics.js , ga ); ga( create , UA-40267130-1 , atwiki.jp ); ga( send , pageview );
https://w.atwiki.jp/nkym_memo/pages/158.html
;; .emacs ;; Last Updated 2011/10/20 Thu 09 26 23 (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(column-number-mode t) '(show-paren-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t ( inherit nil stipple nil background "gray7" foreground "white" inverse-video nil box nil strike-through nil overline nil underline nil slant normal weight normal height 98 width normal foundry "unknown" family "Takaoゴシック"))))) (if window-system (progn ;; 文字の色を設定 (add-to-list 'default-frame-alist '(foreground-color . "white")) ;; 背景色を設定 (add-to-list 'default-frame-alist '(background-color . "gray7")) ;; カーソルの色を設定 (add-to-list 'default-frame-alist '(cursor-color . "SlateBlue2")) ;; ;; マウスポインタの色を設定 ;; (add-to-list 'default-frame-alist '(mouse-color . "SlateBlue2")) ;; ;; モードラインの文字の色を設定 ;; (set-face-foreground 'modeline "white") ;; ;; モードラインの背景色を設定 ;; (set-face-background 'modeline "MediumPurple2") ;; ;; 選択中のリージョンの色を設定 (set-face-background 'region "Dark Slate Grey") ;; ;; モードライン(アクティブでないバッファ)の文字色を設定 ;; (set-face-foreground 'mode-line-inactive "gray30") ;; ;; モードライン(アクティブでないバッファ)の背景色を設定 ;; (set-face-background 'mode-line-inactive "gray85") (set-face-foreground 'font-lock-comment-face "darkorange") ;; コメント (set-face-foreground 'font-lock-string-face "hotpink") ;; ""で囲まれた文字 (set-face-foreground 'font-lock-keyword-face "cyan") (set-face-foreground 'font-lock-function-name-face "white") (set-face-foreground 'font-lock-variable-name-face "white") (set-face-foreground 'font-lock-type-face "skyblue1") (set-face-foreground 'font-lock-warning-face "yellow") (set-face-foreground 'font-lock-builtin-face "lightsteelblue") )) ;;auto-install.elのインストール手順 ;; $mkdir -p ~/.emacs.d/auto-install ;; cd ~/.emacs.d/auto-install ;; wget http //www.emacswiki.org/emacs/download/auto-install.el ;; emacs --batch -Q -f batch-byte-compile auto-install.el ;;;Emacs Lispインストーラを利用 (add-to-list 'load-path "~/.emacs.d/auto-install") (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet-0.6.1c/") ;;; install-elisp-from-emacswiki "auto-install.el" (require 'auto-install) ;;起動時にEmacswikiのページを補完候補に加える ;;(auto-install-update-emacswiki-package-name t) ;;install-elisp.el互換モード (auto-install-compatibility-setup) ;;ediff関連のバッファを一つのフレームにまとめる (setq ediff-window-setup-function 'ediff-setup-windows-plain) ;;================================================================================ ;; 基本設定 ;;================================================================================ ;; スタートアップを非表示 (setq inhibit-startup-screen -1) ;; ビープ音を消す (setq ring-bell-function 'ignore) ;; 現在行に色をつける (global-hl-line-mode 1) ;; その行の色 (set-face-background 'hl-line "black") ;; 履歴を次回Emacs起動時にも保存する (savehist-mode 1) ;; 対応する括弧を光らせる (show-paren-mode 1) ;; カーソルの位置が何文字目かを表示する (column-number-mode t) ;; バックアップファイルを作らない (setq backup-inhibited t) ;; Xでのクリップボードを共有 (setq x-select-enable-clipboard t) ;; yes-or-noをy-or-nに省略 (defalias 'yes-or-no-p 'y-or-n-p) ;; 行の先頭でC-kを一回押すだけで行全体を消去する (setq kill-whole-line t) ;; ツールバーを非表示 (tool-bar-mode -1) ;; メニューバーを非表示 (menu-bar-mode -1) ;; 圧縮されたファイルも編集できるようにする (auto-compression-mode t) ;; スクロールを一行ずつにする (setq scroll-step 1) ;;; 現在の関数名をモードラインに表示 (which-function-mode 1) ;;; emacsclient ;; ファイルを現在のemacsで開く ;(server-start) ;;------------------------ キーバインドの変更 ---------------------------------- ;; 指定の行に移る (global-set-key "\M-g" 'goto-line) ;; undo (global-set-key "\C-z" 'undo) ;; ウィンドウの移動をM-tに (global-set-key "\M-t" 'other-window) ;; C-hをBackSpaceに (global-set-key "\C-h" 'delete-backward-char) ;; M-x compile を f5 に (global-set-key [f5] 'compile) ;;;------------------- 初期フレームの設定 ------------------------------------ (setq initial-frame-alist (append '((width . 45) ; フレーム幅(文字数) (height . 92)) ; フレーム高(文字数) initial-frame-alist)) ;;; 新規フレームのデフォルト設定 (setq default-frame-alist (append '((width . 45); フレーム幅(文字数) (height . 92)); フレーム高(文字数) default-frame-alist)) ;;; ファイル更新日を自動的に書き換える。 ;; ファイルの頭に "last updated "をつけくわえればよい (require 'time-stamp) ;; 日本語で日付を入れたくないのでlocaleをCにする (defun time-stamp-with-locale-c () (let ((system-time-locale "C")) (time-stamp) nil)) (if (not (memq 'time-stamp-with-locale-c write-file-hooks)) (add-hook 'write-file-hooks 'time-stamp-with-locale-c)) (setq time-stamp-active t) (setq time-stamp-start "Last Updated ") (setq time-stamp-format "%04y/%02m/%02d %3a %02H %02M %02S") (setq time-stamp-end " ") ;;;Last Updated の後に空白2つ以上いれると置換 ;;; タイトルバーにファイル名を表示する (setq frame-title-format (format "emacs@%s %%f" (system-name))) ;;; ファイルの自動挿入 (auto-insert-mode) ;; 自動挿入するファイルのあるディレクトリ ;; 最後の/は必須 (setq auto-insert-directory "~/.emacs.d/insert/") ;; 自動挿入するファイル (define-auto-insert "\\.c" "c-template.c") ;;================================================================================ ;;; viewer.el view-modeの設定 ;; M-x install-elisp-from-emacswiki viewer.el ;; ;; C-x C-rでview-modeでファイルを開く (setq view-read-only t) ;; 書き込み不能な場合はview-modeを抜けないように (require 'viewer) (viewer-stay-in-setup) ;; .log .out .datファイルをview-modeで開く (setq view-mode-by-default-regexp "\\.log") (setq view-mode-by-default-regexp "\\.out") (setq view-mode-by-default-regexp "\\.dat") ;;; view-mode時にモードラインに色をつける ;; 色名を指定 (setq viewer-modeline-color-unwritable "tomato") (setq viewer-modeline-color-view "orange") (viewer-change-modeline-color-setup) ;; view-mode時のキーバインド (define-key view-mode-map "h" 'backward-char) (define-key view-mode-map "j" 'next-line) (define-key view-mode-map "k" 'previous-line) (define-key view-mode-map "l" 'forward-char) (define-key view-mode-map "J" 'View-scroll-line-forward) (define-key view-mode-map "K" 'View-scroll-line-backward) (define-key view-mode-map "b" 'scroll-down) (define-key view-mode-map " " 'scroll-up) ;; ;; bm.el (define-key view-mode-map "m" 'bm-toggle) (define-key view-mode-map "[" 'bm-previous) (define-key view-mode-map "]" 'bm-next) ;; view-modeを有効・無効にする ;; 0.04秒以内に jk を同時押しでview-modeに移行 (require 'key-chord) (setq key-chord-two-keys-delay 0.04) (key-chord-mode 1) (key-chord-define-global "jk" 'view-mode) ;================================================================================ ;;; redo+.el (require 'redo+) ;; M-zに設定 (global-set-key "\M-z" 'redo) (setq undo-no-redo t); 過去のundoがredoされないようにする ;; 大量のundoに耐えられるようにする (setq undo-limit 600000) (setq undo-strong-limit 900000) ;;;fullscreen.el (require 'fullscreen) ;;;-------------------- recentf-ext.el -------------------------- ;; install-elisp-from-emacswiki recentf-ext.el ;; 保存しておく数 (setq recentf-max-saved-items 1000) ;; 最近使ったファイルに加えないファイルを正規表現で指定する (setq recentf-exclude '("/TAGS$" "/var/tmp/")) (require 'recentf-ext) ;; f8をショートカットキーに (global-set-key [f8] 'recentf-open-files) ;;; auto-complete.el ;; install-elisp-from-emacswiki auto-complete.el ;;(require 'auto-complete) ;;(global-auto-complete-mode 1) ;;;col-highlight.el ;; auto-install-batch col-highlight.el ;(require 'col-highlight) ;(column-highlight-mode 1) ;;何もしないでいるとハイライトを始めるようにする場合 ;(toggle-highlight-column-when-idle 1) ;(col-highlight-set-interval 3) ;;;============================= hippie-expand ==================================== ;;; 略語展開の順を設定 (setq hippie-expand-try-functions-list '(try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-complete-lisp-symbol-partially try-complete-lisp-symbol)) ;; キーバインドの変更 C-; (global-set-key [?\C-\;] 'hippie-expand ) ;;; ipa.el (require 'ipa) ;;; 背景色 (set-face-background 'highlight "Corn Flower Blue") ;;;---------------------- sequential-command.el--------------------------------- ;;; M-x auto-install-batch sequential-command (require 'sequential-command-config) (sequential-command-setup-keys) ;;================================================================================ ;;; smartchr.el ;; M-x install-elisp ;; https //github.com/imakado/emacs-smartchr/raw/master/smartchr.el (require 'smartchr) ;; once "", twice " (global-set-key (kbd "\"") (smartchr '("\"`!!'\"" "\""))) (add-hook 'c-mode-hook '(lambda () (local-set-key ( kbd "(") (smartchr '("( `!!' )" "()" "("))) (local-set-key ( kbd "\'") (smartchr '("\'`!!'\'" "\'"))) (local-set-key ( kbd "\,") (smartchr '("\, " "\,"))) (local-set-key (kbd "[") (smartchr '("[ `!!' ]" "["))) (local-set-key (kbd "=") (smartchr '("= " "==" "="))) )) (add-hook 'c++-mode-hook '(lambda () (local-set-key ( kbd "(") (smartchr '("( `!!' )" "()" "("))) (local-set-key ( kbd "\'") (smartchr '("\'`!!'\'" "\'"))) (local-set-key ( kbd "\,") (smartchr '("\, " "\,"))) (local-set-key (kbd "[") (smartchr '("[ `!!' ]" "["))) (local-set-key (kbd "=") (smartchr '("= " "== " "="))) )) (add-hook 'org-mode-hook '(lambda () (local-set-key ( kbd "$" ) ( smartchr '("" "$" ))) (local-set-key ( kbd "\{" ) ( smartchr '("\{`!!'\}" "\{" ))) )) ;;;----------------------- auto-save-buffers.el --------------------------------- ;; M-x install-elisp ;; http //homepage3.nifty.com/oatu/emacs/archives/auto-save-buffers.el (require 'auto-save-buffers) ;; アイドル0.5秒で保存 (run-with-idle-timer 0.5 t 'auto-save-buffers) (run-with-idle-timer 0.5 t 'auto-save-buffers "" ".ipa$") ;;; open-junk-file.el ;; M-x install-elisp-from-emacswiki open-junk-file.el ;; Usage M-x open-junk-file (require 'open-junk-file) (setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.") (global-set-key "\C-x\C-j" 'open-junk-file) ;;; bm.el ;; M-x install-elisp ;; http //cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el (setq-default bm-buffer-persistence nil) (setq bm-restore-repository-on-load t) (require 'bm) (add-hook 'find-file-hooks 'bm-buffer-restore) (add-hook 'kill-buffer-hook 'bm-buffer-save) (add-hook 'after-save-hook 'bm-buffer-save) (add-hook 'after-revert-hook 'bm-buffer-restore) (add-hook 'vc-before-checkin-hook 'bm-buffer-save) (global-set-key [f7] 'bm-toggle) (global-set-key "\C-xp" 'bm-previous) (global-set-key "\C-xn" 'bm-next) ;;; twittering-mode (add-to-list 'load-path "~/.emacs.d/twittering-mode-1.0.0/") (require 'twittering-mode) ;; Show icons (setq twittering-icon-mode t) ;; Update your timeline each 300 seconds (5 minutes) (setq twittering-timer-interval 30) (add-hook 'twittering-mode-hook (lambda () (mapc (lambda (pair) (let ((key (car pair)) (func (cdr pair))) (define-key twittering-mode-map (read-kbd-macro key) func))) '(("F" . twittering-friends-timeline) ("R" . twittering-replies-timeline) ("U" . twittering-user-timeline) ("W" . twittering-update-status-interactive))))) ;;;================== Latex ======================================== ;; 日本語コードをeuc-japanに (set-language-environment "Japanese") (set-default-coding-systems 'euc-japan) (set-terminal-coding-system 'euc-japan) ;;; Yatex (setq YaTeX-inhibit-prefix-letter nil) (setq dvi2-command "xdvi -geo +0+0 -s 7 -expert -watchfile 3") ;;;reftex (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode (add-hook 'yatex-mode-hook 'turn-on-reftex) ; with YaTeX mode ;;------------------- 行番号の表示 --------------------------------- (autoload 'setnu-mode "setnu" nil t) (global-set-key [f12] 'setnu-mode) ;;========================== kmacro-save =============================== (defvar kmacro-save-file "~/.emacs" "キーボードマクロを保存するファイル") (defun kmacro-save (symbol) (interactive "name for last kbd macro ") (name-last-kbd-macro symbol) (with-current-buffer (find-file-noselect kmacro-save-file) (goto-char (point-max)) (insert-kbd-macro symbol) (basic-save-buffer))) ;; 現在行をコピー (fset 'select-this-line "\C-e\C-@\C-a\M-w") (global-set-key [?\C-\,] 'select-this-line) ;; 文末に;を入力 (fset 'insert-statement-end "\C-e;\C-j") (global-set-key [?\C-\.] 'insert-statement-end) ;; {}を改行してインデント (fset 'parentheses-and-indent "\C-e{\C-j\C-j}\C-p") (global-set-key [?\M-\[] 'parentheses-and-indent) ;; インデントして次の行へ (fset 'indent-and-next "\C-i\C-n") (global-set-key [?\M-i] 'indent-and-next) ;;------------- yasnippet.el ------------------------------- (require 'yasnippet-config) (yas/setup "~/.emacs.d/plugins/yasnippet-0.6.1c") ;;------------- iswitchb.el ------------------------------- ;; バッファ切り替えを部分文字列で可能に (iswitchb-mode 1) (setq read-buffer-function 'iswitchb-read-buffer) (setq iswitchb-regexp nil) ;; 新しいバッファ作成するときは聞かない (setq iswitchb-prompt-newbuffer nil) ;; uniquify.el (require 'uniquify) ;; filename dir の形式 (setq uniquify-buffer-name-style 'post-forward-angle-brackets) ;; *で囲まれたバッファ名は対象外にする (setq uniquify-ignore-buffers-re "*[^*]+*") ;;---------------html-helper-mode------------------------------ (require 'html-helper-mode) (require 'html-mode) (require 'tempo) ;;--------------org-mode--------------------------------------- (require 'org) (defun org-insert-upheading-dwim (arg) "1レベル上の見出しを入力する" (interactive "P") (org-insert-heading arg) (cond ((org-on-heading-p) (org-do-promote)) ((org-at-item-p) (org-indent-item -1)))) (defun org-insert-heading-dwim (arg) "現在と同じレベルの見出しを入力する。" "C-u 1レベル上" "C-u C-u 1レベル下" (interactive "p") (case arg (4 (org-insert-subheading nil)) ;C-u (16 (org-insert-upheading nil)) ;C-u C-u (t (org-insert-heading nil)))) (define-key org-mode-map (kbd " C-return ") 'org-insert-heading-dwim) (org-remember-insinuate) ;; メモを格納するorgファイルの設定 (setq org-directory "~/Documents/memo") (setq org-default-notes-file (expand-file-name "memo.org" org-directory)) ;; テンプレートの設定 (setq org-remember-templates '(("Note" ?n "** %?\n %i\n %a\n %T" nil "Inbox") ("Todo" ?t "** TODO %?\n %i\n %a\n %T" nil "Inbox"))) ;; Select template [n]ote [t]odo (global-set-key [f1] 'org-remember) ;; TODOリストの設定 (setq org-use-fast-todo-selection t) (setq org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "WAITING(w)" "|" "DONE(x)" "CANCEL(c)") (sequence "APPT(a)" "|" "DONE(x)" "CANCEL(c)" ))) ;; ハイパーリンクの作成 (global-set-key (kbd "C-c l") 'org-store-link) ;; M-x org-rememberによるメモを集めるorgファイル (setq org-default-notes-file "~/Documents/memo/plan.org") ;; 予定表に使うorgファイルのリスト (setq org-agenda-files (list org-default-notes-file)) (global-set-key (kbd "C-c a") 'org-agenda) ;; w3m (require 'w3m-load) (setq w3m-home-page "www.google.co.jp/") ;起動時に開くページ (setq w3m-use-cookies t) ;クッキーを使う (setq w3m-bookmark- "~/.w3m/bookmark.html") ;ブックマークを保存する (setq browse-url-browser-function 'w3m-browse-url) (autoload 'w3m-browse-url "w3m" "Ask a browser to show a URL." t) (global-set-key "\C-xm" 'browse-url-at-point) (autoload 'w3m-find-file "w3m" "w3m interface function for local file." t) (autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGIN." t) (setq w3m-search-default-engin "google-ja") (global-set-key "\C-cs" 'w3m-search) (autoload 'w3m-weather "w3m-weather" "Display weather report." t) (autoload 'w3m-antenna "w3m-antenna" "Report change of WEB ." t) (autoload 'w3m- "w3m-namazu" "Search files with Namazu." t) ;; 折りたたみ (require 'fold-dwim) ;; コンパイルでの*compilation*ウィンドウの文字コード調整 (add-hook 'set-language-environment-hook (lambda () (when (equal "ja_JP.UTF-8" (getenv "LANG")) (setq default-process-coding-system '(utf-8 . utf-8)) (setq default-file-name-coding-system 'utf-8)) (when (equal "Japanese" current-language-environment) (setq default-buffer-file-coding-system 'iso-2022-jp)))) (set-language-environment "Japanese")
https://w.atwiki.jp/nkym_memo/pages/205.html
;; .emacs ;; Last Updated 2014/05/14 Wed 03 27 20 (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(column-number-mode t) '(show-paren-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t ( inherit nil stipple nil background "gray7" foreground "white" inverse-video nil box nil strike-through nil overline nil underline nil slant normal weight normal height 98 width normal foundry "unknown" family "Takaoゴシック"))))) ;; 半角2つ = 全角1つになるheight = 88, 92, 102 (if window-system (progn ;; 文字の色を設定 (add-to-list 'default-frame-alist '(foreground-color . "white")) ;; 背景色を設定 (add-to-list 'default-frame-alist '(background-color . "gray10")) ;; カーソルの色を設定 (add-to-list 'default-frame-alist '(cursor-color . "SlateBlue2")) ;; ;; マウスポインタの色を設定 ;; (add-to-list 'default-frame-alist '(mouse-color . "SlateBlue2")) ;; ;; モードラインの文字の色を設定 ;; (set-face-foreground 'modeline "white") ;; ;; モードラインの背景色を設定 ;; (set-face-background 'modeline "MediumPurple2") ;; ;; 選択中のリージョンの色を設定 (set-face-background 'region "Dark Slate Grey") ;; ;; モードライン(アクティブでないバッファ)の文字色を設定 ;; (set-face-foreground 'mode-line-inactive "gray30") ;; ;; モードライン(アクティブでないバッファ)の背景色を設定 ;; (set-face-background 'mode-line-inactive "gray85") (set-face-foreground 'font-lock-comment-face "darkorange") ;; コメント (set-face-foreground 'font-lock-string-face "hotpink") ;; ""で囲まれた文字 (set-face-foreground 'font-lock-keyword-face "cyan") (set-face-foreground 'font-lock-function-name-face "white") (set-face-foreground 'font-lock-variable-name-face "white") (set-face-foreground 'font-lock-type-face "skyblue1") (set-face-foreground 'font-lock-warning-face "yellow") (set-face-foreground 'font-lock-builtin-face "lightsteelblue") (set-face-background 'fringe "gray7") )) ;;auto-install.elのインストール手順 ;; $mkdir -p ~/.emacs.d/auto-install ;; cd ~/.emacs.d/auto-install ;; wget http //www.emacswiki.org/emacs/download/auto-install.el ;; emacs --batch -Q -f batch-byte-compile auto-install.el ;;;Emacs Lispインストーラを利用 (add-to-list 'load-path "~/.emacs.d/auto-install") (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet-0.6.1c/") ;;; install-elisp-from-emacswiki "auto-install.el" (require 'auto-install) ;;起動時にEmacswikiのページを補完候補に加える ;;(auto-install-update-emacswiki-package-name t) ;;install-elisp.el互換モード (auto-install-compatibility-setup) ;;ediff関連のバッファを一つのフレームにまとめる (setq ediff-window-setup-function 'ediff-setup-windows-plain) ;;================================================================================ ;; 基本設定 ;;================================================================================ ;; スタートアップを非表示 (setq inhibit-startup-screen -1) ;; ビープ音を消す (setq ring-bell-function 'ignore) ;; 現在行に色をつける (global-hl-line-mode 1) ;; その行の色 (set-face-background 'hl-line "black") ;; 履歴を次回Emacs起動時にも保存する (savehist-mode 1) ;; 対応する括弧を光らせる (show-paren-mode 1) ;; カーソルの位置が何文字目かを表示する (column-number-mode t) ;; バックアップファイルを作らない (setq backup-inhibited t) ;; Xでのクリップボードを共有 (setq x-select-enable-clipboard t) ;; yes-or-noをy-or-nに省略 (defalias 'yes-or-no-p 'y-or-n-p) ;; 行の先頭でC-kを一回押すだけで行全体を消去する (setq kill-whole-line t) ;; ツールバーを非表示 (tool-bar-mode -1) ;; メニューバーを非表示 (menu-bar-mode -1) ;; 圧縮されたファイルも編集できるようにする (auto-compression-mode t) ;; スクロールを一行ずつにする (setq scroll-step 1) ;; スクロールバーを削除 (setq scroll-bar-mode -1) ;;; 現在の関数名をモードラインに表示 (which-function-mode 1) ;;; emacsclient ;; ファイルを現在のemacsで開く ;(server-start) ;;------------------------ キーバインドの変更 ---------------------------------- ;; 指定の行に移る (global-set-key "\M-g" 'goto-line) ;; undo (global-set-key "\C-z" 'undo) ;; ウィンドウの移動をM-tに (global-set-key "\M-t" 'other-window) ;; C-hをBackSpaceに (global-set-key "\C-h" 'delete-backward-char) ;; M-x compile を f5 に (global-set-key [f5] 'compile) ;; C-mで改行+インデント (global-set-key "\C-m" 'newline-and-indent) ;;;------------------- 初期フレームの設定 ------------------------------------ (setq initial-frame-alist (append '((width . 80) ; フレーム幅(文字数) (height . 68)) ; フレーム高(文字数) initial-frame-alist)) ;;; 新規フレームのデフォルト設定 (setq default-frame-alist (append '((width . 80); フレーム幅(文字数) (height . 68)); フレーム高(文字数) default-frame-alist)) ;;; ファイル更新日を自動的に書き換える。 ;; ファイルの頭に "last updated "をつけくわえればよい (require 'time-stamp) ;; 日本語で日付を入れたくないのでlocaleをCにする (defun time-stamp-with-locale-c () (let ((system-time-locale "C")) (time-stamp) nil)) (if (not (memq 'time-stamp-with-locale-c write-file-hooks)) (add-hook 'write-file-hooks 'time-stamp-with-locale-c)) (setq time-stamp-active t) (setq time-stamp-start "Last Updated ") (setq time-stamp-format "%04y/%02m/%02d %3a %02H %02M %02S") (setq time-stamp-end " ") ;;;Last Updated の後に空白2つ以上いれると置換(1つにはできない) ;;; タイトルバーにファイル名を表示する (setq frame-title-format (format "%s@%s %%f" (user-login-name) (system-name))) ;;; ファイルの自動挿入 (auto-insert-mode) ;; 自動挿入するファイルのあるディレクトリ ;; 最後の/は必須 (setq auto-insert-directory "~/.emacs.d/insert/") ;; 自動挿入するファイル (define-auto-insert "\\.c" "c-template.c") (define-auto-insert "\\.tex" "tex-template.tex") ;;================================================================================ ;;; viewer.el view-modeの設定 ;; M-x install-elisp-from-emacswiki viewer.el ;; ;; C-x C-rでview-modeでファイルを開く ;; (setq view-read-only t) ;; ;; 書き込み不能な場合はview-modeを抜けないように ;; (require 'viewer) ;; (viewer-stay-in-setup) ;; ;; .log .out .datファイルをview-modeで開く ;; (setq view-mode-by-default-regexp "\\.log") ;; (setq view-mode-by-default-regexp "\\.out") ;; (setq view-mode-by-default-regexp "\\.dat") ;; ;;; view-mode時にモードラインに色をつける ;; ;; 色名を指定 ;; (setq viewer-modeline-color-unwritable "tomato") ;; (setq viewer-modeline-color-view "orange") ;; (viewer-change-modeline-color-setup) ;; ;; view-mode時のキーバインド ;; (define-key view-mode-map "h" 'backward-char) ;; (define-key view-mode-map "j" 'next-line) ;; (define-key view-mode-map "k" 'previous-line) ;; (define-key view-mode-map "l" 'forward-char) ;; (define-key view-mode-map "J" 'View-scroll-line-forward) ;; (define-key view-mode-map "K" 'View-scroll-line-backward) ;; (define-key view-mode-map "b" 'scroll-down) ;; (define-key view-mode-map " " 'scroll-up) ;; ;; ;; bm.el ;; (define-key view-mode-map "m" 'bm-toggle) ;; (define-key view-mode-map "[" 'bm-previous) ;; (define-key view-mode-map "]" 'bm-next) ;; ;; view-modeを有効・無効にする ;; ;; 0.04秒以内に jk を同時押しでview-modeに移行 ;; (require 'key-chord) ;; (setq key-chord-two-keys-delay 0.04) ;; (key-chord-mode 1) ;; (key-chord-define-global "jk" 'view-mode) ;================================================================================ ;;; redo+.el (require 'redo+) ;; M-zに設定 (global-set-key "\M-z" 'redo) (setq undo-no-redo t); 過去のundoがredoされないようにする ;; 大量のundoに耐えられるようにする (setq undo-limit 6000) (setq undo-strong-limit 9000) ;;;fullscreen.el (require 'fullscreen) (global-set-key [f11] 'fullscreen) ;;;-------------------- recentf-ext.el -------------------------- ;; install-elisp-from-emacswiki recentf-ext.el ;; 保存しておく数 (setq recentf-max-saved-items 1000) ;; 最近使ったファイルに加えないファイルを正規表現で指定する (setq recentf-exclude '("/TAGS$" "/var/tmp/")) (require 'recentf-ext) ;; f8をショートカットキーに (global-set-key [f8] 'recentf-open-files) ;;; auto-complete.el ;; install-elisp-from-emacswiki auto-complete.el ;;(require 'auto-complete) ;;(global-auto-complete-mode 1) ;;;col-highlight.el ;; auto-install-batch col-highlight.el ;(require 'col-highlight) ;(column-highlight-mode 1) ;;何もしないでいるとハイライトを始めるようにする場合 ;(toggle-highlight-column-when-idle 1) ;(col-highlight-set-interval 3) ;;;============================= hippie-expand ==================================== ;;; 略語展開の順を設定 (setq hippie-expand-try-functions-list '(try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-complete-lisp-symbol-partially try-complete-lisp-symbol)) ;; キーバインドの変更 C-; (global-set-key [?\C-\;] 'hippie-expand ) ;;; ipa.el (require 'ipa) ;;; 背景色 (set-face-background 'highlight "Corn Flower Blue") ;;;---------------------- sequential-command.el--------------------------------- ;;; M-x auto-install-batch sequential-command (require 'sequential-command-config) (sequential-command-setup-keys) ;;================================================================================ ;;; smartchr.el ;; M-x install-elisp ;; https //github.com/imakado/emacs-smartchr/raw/master/smartchr.el (require 'smartchr) ;; once "", twice " (global-set-key (kbd "\"") (smartchr '("\"`!!'\"" "\""))) (add-hook 'c-mode-hook '(lambda () (local-set-key ( kbd "(") (smartchr '("( `!!' )" "()" "("))) (local-set-key ( kbd "\'") (smartchr '("\'`!!'\'" "\'"))) (local-set-key ( kbd "\,") (smartchr '("\, " "\,"))) (local-set-key (kbd "[") (smartchr '("[ `!!' ]" "[]" "["))) (local-set-key (kbd "=") (smartchr '("= " "== " "="))) )) (add-hook 'c++-mode-hook '(lambda () (local-set-key ( kbd "(") (smartchr '("( `!!' )" "()" "("))) (local-set-key ( kbd "\'") (smartchr '("\'`!!'\'" "\'"))) (local-set-key ( kbd "\,") (smartchr '("\, " "\,"))) (local-set-key (kbd "[") (smartchr '("[ `!!' ]" "[]" "["))) (local-set-key (kbd "=") (smartchr '("= " "== " "="))) (local-set-key (kbd " ") (smartchr '(" " " " ))) )) (add-hook 'org-mode-hook '(lambda () (local-set-key ( kbd "$" ) ( smartchr '("$" ""))) (local-set-key ( kbd "\{" ) ( smartchr '("\{`!!'\}" "\{" "{{"))) )) (add-hook 'python-mode-hook '(lambda () (local-set-key ( kbd "(") (smartchr '("( `!!' )" "()" "("))) (local-set-key ( kbd "\'") (smartchr '("\'`!!'\'" "\'"))) (local-set-key ( kbd "\,") (smartchr '("\, " "\,"))) (local-set-key (kbd "[") (smartchr '("[ `!!' ]" "["))) (local-set-key (kbd "=") (smartchr '("= " "== " "="))) )) ;;;----------------------- auto-save-buffers.el --------------------------------- ;; M-x install-elisp ;; http //homepage3.nifty.com/oatu/emacs/archives/auto-save-buffers.el (require 'auto-save-buffers) ;; アイドル0.5秒で保存 (run-with-idle-timer 0.5 t 'auto-save-buffers) (run-with-idle-timer 0.5 t 'auto-save-buffers "" ".ipa$") ;;; open-junk-file.el ;; M-x install-elisp-from-emacswiki open-junk-file.el ;; Usage M-x open-junk-file (require 'open-junk-file) (setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.") (global-set-key "\C-x\C-j" 'open-junk-file) ;;; bm.el ;; M-x install-elisp ;; http //cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el (setq-default bm-buffer-persistence nil) (setq bm-restore-repository-on-load t) (require 'bm) (add-hook 'find-file-hooks 'bm-buffer-restore) (add-hook 'kill-buffer-hook 'bm-buffer-save) (add-hook 'after-save-hook 'bm-buffer-save) (add-hook 'after-revert-hook 'bm-buffer-restore) (add-hook 'vc-before-checkin-hook 'bm-buffer-save) (global-set-key [f7] 'bm-toggle) (global-set-key "\C-xp" 'bm-previous) (global-set-key "\C-xn" 'bm-next) ;;; twittering-mode (add-to-list 'load-path "~/.emacs.d/twittering-mode-2.0.0/") (require 'twittering-mode) ;; Show icons (setq twittering-icon-mode nil) ;; Timeline format (setq twittering-status-format "%i %s %S, %@ \n %t") ;; Update your timeline each 300 seconds (5 minutes) (setq twittering-timer-interval 30) (add-hook 'twittering-mode-hook (lambda () (mapc (lambda (pair) (let ((key (car pair)) (func (cdr pair))) (define-key twittering-mode-map (read-kbd-macro key) func))) '(("F" . twittering-favorite) ("R" . twittering-replies-timeline) ("U" . twittering-user-timeline) ("W" . twittering-update-status-interactive))))) ;;;================== Latex ======================================== ;; 日本語コードをeuc-japanに (set-language-environment "Japanese") (set-default-coding-systems 'euc-japan) (set-terminal-coding-system 'euc-japan) ;;; Yatex (add-to-list 'load-path "/usr/share/emacs/site-lisp/yatex/") (setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist)) (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) (setq YaTeX-inhibit-prefix-letter nil) (setq dvi2-command "xdvi -geo +0+0 -s 7 -expert -watchfile 3") ;;;reftex (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode (add-hook 'yatex-mode-hook 'turn-on-reftex) ; with YaTeX mode ;;------------------- 行番号の表示 --------------------------------- (autoload 'setnu-mode "setnu" nil t) (global-set-key [f12] 'setnu-mode) ;;========================== kmacro-save =============================== (defvar kmacro-save-file "~/.emacs" "キーボードマクロを保存するファイル") (defun kmacro-save (symbol) (interactive "name for last kbd macro ") (name-last-kbd-macro symbol) (with-current-buffer (find-file-noselect kmacro-save-file) (goto-char (point-max)) (insert-kbd-macro symbol) (basic-save-buffer))) ;; 現在行をコピー (fset 'select-this-line "\C-e\C-@\C-a\M-w") (global-set-key [?\C-\,] 'select-this-line) ;; 文末に;を入力 (fset 'insert-statement-end "\C-e;\C-a\C-i") (global-set-key [?\C-\.] 'insert-statement-end) ;; {}を改行してインデント (fset 'parentheses-and-indent "\C-e{\C-j\C-j}\C-p") (global-set-key [?\M-\[] 'parentheses-and-indent) ;; インデントして次の行へ (fset 'indent-and-next "\C-i\C-n") (global-set-key [?\M-i] 'indent-and-next) ;;------------- yasnippet.el ------------------------------- (require 'yasnippet-config) (yas/setup "~/.emacs.d/plugins/yasnippet-0.6.1c") ;;------------- iswitchb.el ------------------------------- ;; バッファ切り替えを部分文字列で可能に (iswitchb-mode 1) (setq read-buffer-function 'iswitchb-read-buffer) (setq iswitchb-regexp nil) ;; 新しいバッファ作成するときは聞かない (setq iswitchb-prompt-newbuffer nil) ;; uniquify.el (require 'uniquify) ;; filename dir の形式 (setq uniquify-buffer-name-style 'post-forward-angle-brackets) ;; *で囲まれたバッファ名は対象外にする (setq uniquify-ignore-buffers-re "*[^*]+*") ;;---------------html-helper-mode------------------------------ (require 'html-helper-mode) (require 'html-mode) (require 'tempo) ;; ;; w3m ;; (require 'w3m-load) ;; (setq w3m-home-page "www.google.co.jp/") ;起動時に開くページ ;; (setq w3m-use-cookies t) ;クッキーを使う ;; (setq w3m-bookmark- "~/.w3m/bookmark.html") ;ブックマークを保存する ;; (setq browse-url-browser-function 'w3m-browse-url) ;; (autoload 'w3m-browse-url "w3m" "Ask a browser to show a URL." t) ;; (global-set-key "\C-xm" 'browse-url-at-point) ;; (autoload 'w3m-find-file "w3m" "w3m interface function for local file." t) ;; (autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGIN." t) ;; (setq w3m-search-default-engin "google-ja") ;; (global-set-key "\C-cs" 'w3m-search) ;; (autoload 'w3m-weather "w3m-weather" "Display weather report." t) ;; (autoload 'w3m-antenna "w3m-antenna" "Report change of WEB ." t) ;; (autoload 'w3m- "w3m-namazu" "Search files with Namazu." t) ;; コードブロックの折りたたみ (require 'fold-dwim) ;; コンパイルでの*compilation*ウィンドウの文字コード調整 (add-hook 'set-language-environment-hook (lambda () (when (equal "ja_JP.UTF-8" (getenv "LANG")) (setq default-process-coding-system '(utf-8 . utf-8)) (setq default-file-name-coding-system 'utf-8)) (when (equal "Japanese" current-language-environment) (setq default-buffer-file-coding-system 'iso-2022-jp)))) (set-language-environment "Japanese") ;; カーソルの点滅を止める ;;(blink-cursor-mode 0) ;; セッションの保存 ;; emacs再起動時に前回のバッファ等を復元 ;(desktop-save-mode 1) ;; 拡張子によるメジャーモードの変更 (setq auto-mode-alist (cons (cons "\\.h$" 'c++-mode) auto-mode-alist)) ;; シェルスクリプトの実行属性を自動で付加 ;; ファイル先頭が#!で始まり、ファイル名が.で始まらない場合 (defun make-file-executable () "Make the file of this buffer executable, when it is a script source." (save-restriction (widen) (if (string= "#!" (buffer-substring-no-properties 1 (min 3 (point-max)))) (let ((name (buffer-file-name))) (or (equal ?. (string-to-char (file-name-nondirectory name))) (let ((mode (file-modes name))) (set-file-modes name (logior mode (logand (/ mode 4) 73))) (message (concat "Wrote " name " (+x)")))))))) (add-hook 'after-save-hook 'make-file-executable) (require 'tramp) ;; apache-mode (autoload 'apache-mode "apache-mode" nil t) (add-to-list 'auto-mode-alist '("\\.htaccess\\'" . apache-mode)) (add-to-list 'auto-mode-alist '("httpd\\.conf\\'" . apache-mode)) (add-to-list 'auto-mode-alist '("srm\\.conf\\'" . apache-mode)) (add-to-list 'auto-mode-alist '("access\\.conf\\'" . apache-mode)) (add-to-list 'auto-mode-alist '("sites-\\(available\\|enabled\\)/" . apache-mode)) ;; php-mode (require 'php-mode) ;; スクロールバーを消す (scroll-bar-mode nil) ;; ;; kill-all-buffers (defun kill-all-buffers () (interactive) (loop for buffer being the buffers do (kill-buffer buffer))) ;;; Arduino (add-to-list 'load-path "~/.emacs.d/arduino-mode/") (load "arduino-mode") (setq auto-mode-alist (cons '("\\.pde$" . arduino-mode) auto-mode-alist)) ;;--------------org-mode--------------------------------------- (require 'org) ;; 折り返し有効 (setq org-startup-truncated nil) (defun org-insert-upheading-dwim (arg) "1レベル上の見出しを入力する" (interactive "P") (org-insert-heading arg) (cond ((org-on-heading-p) (org-do-promote)) ((org-at-item-p) (org-indent-item -1)))) (defun org-insert-heading-dwim (arg) "現在と同じレベルの見出しを入力する。" "C-u 1レベル上" "C-u C-u 1レベル下" (interactive "p") (case arg (4 (org-insert-subheading nil)) ;C-u (16 (org-insert-upheading nil)) ;C-u C-u (t (org-insert-heading nil)))) (define-key org-mode-map (kbd " C-return ") 'org-insert-heading-dwim) ;; ;1行の文字数 ;; (setq org-mode-hook ;; '(lambda () (auto-fill-mode 1) ;; (setq default-fill-column 100) ;; (setq defailt-tab-width 4))) ;; org-agendaを開く (global-set-key (kbd "C-c a") 'org-agenda) (org-remember-insinuate) ;; メモを格納するorgファイルの設定 (setq org-directory "~/Documents/memo") (setq org-default-notes-file (expand-file-name "memo.org" org-directory)) ;; テンプレートの設定 (setq org-remember-templates '(("Note" ?n "** %?\n %i\n %a\n %T" nil "Inbox") ("Todo" ?t "** TODO %?\n %i\n %a\n %T" nil "Inbox"))) ;; Select template [n]ote [t]odo (global-set-key (kbd "\C-c n") 'org-remember) ;; TODOリストの設定 (setq org-use-fast-todo-selection t) (setq org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "WAITING(w)" "|" "DONE(x)" "CANCEL(c)") (sequence "APPT(a)" "|" "DONE(x)" "CANCEL(c)" ))) ;; ハイパーリンクの作成 (global-set-key (kbd "C-c l") 'org-store-link) ;; M-x org-rememberによるメモを集めるorgファイル ;(setq org-default-notes-file "~/Documents/memo/plan.org") ;; 予定表に使うorgファイルのリスト (setq org-agenda-files (cons org-default-notes-file (directory-files "~/Documents/Private/2013/" t "\\.org$"))) ;; 監視するファイルを追加 (setq progress-directory-list (directory-files "~/Documents/Progress/" nil "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)")) (while progress-directory-list (setq tmp-list (concatenate 'string "~/Documents/Progress/" (car progress-directory-list))) (setq org-agenda-files (append org-agenda-files (directory-files tmp-list t "\\.org$"))) (setq progress-directory-list (cdr progress-directory-list )) ) ;; txtをorg-modeで開く (setq auto-mode-alist (cons '("\\.txt$" . org-mode) auto-mode-alist)) ;;; gtags (require 'gtags) (add-hook 'c++-mode-hook 'gtags-mode) (add-hook 'c-mode-hook 'gtags-mode) (setq view-read-only t) ;; cpp-highlight-buffer (setq cpp-known-face 'default) (setq cpp-unknown-face 'highlight) (setq cpp-face-type 'light) (setq cpp-known-writable 't) (setq cpp-unknown-writable 't) (setq cpp-edit-list '(("1" nil (foreground-color . "dim gray") both nil) ("0" (foreground-color . "dim gray") nil both nil)))
https://w.atwiki.jp/nkym_memo/pages/35.html
Ctrl + 1文字 キーバインド コマンド名 概要 C-@ set-mark-command 現在位置をマークする C-a move-beginning-of-line 行頭へ移動する C-b backward-char 一文字戻る C-c mode-specific-command-prefix プレフィクスキー C-d delete-char 現在位置の文字を削除する C-e move-end-of-line 行末へ移動する C-f forward-char 一文字進む C-g keyobard-quit 中断する C-h help-command ヘルプのプレフィクスキー C-i newline-for-tab-command インデントをする C-j newline-and-indent 改行後インデントをする C-k kill-line 一行削除する C-l recenter-top-bottom カーソルを中心に再描画 C-m newline 改行する C-n next-line 次の行へ移動 C-o open-line 空行を開ける C-p previous-line 前の行へ移動 C-q quoted-insert 特殊文字を入力する C-r isearch-backward 後ろへインクリメンタルサーチする C-s isearch-forward 前へインクリメンタルサーチする C-t transpose-char 文字を入れ替える C-u universal-argument 回数、コマンドを入力後、コマンドを複数回実行 C-v scroll-up 1ページスクロールする C-w kill-region 範囲をキル(カットする) C-x Control-X-prefix プレフィクスキー C-y yank ヤンク(ペーストする) C-z iconify-or-deiconify-frame アイコン化する C-\ toggle-input-method 日本語入力を有効・無効にする C-] abort-recursive-edit 再帰編集を中止する C-_ undo 操作を取り戻す C-SPC set-mark-command 現在位置をマークする C- negative-argument 負の前置引数を与える(C-u -と同じ) C-/ undo 操作を取り戻す キーバインドを入れ替える候補 C-(1文字) キーバインド 元の機能 注意点 C-l カーソルを中心に再描画 ※1 C-; なし 端末上で使えない C- なし 端末上で使えない C-] 再帰編集を中止する C-z アイコン化する C-t 文字を入れ替える C-, なし 端末上で使えない C-. なし 端末上で使えない C-@ 現在位置をマークする 端末上で使えない ※1 Emacs23ではC-l C-lで画面最上部、C-l C-l C-lで画面最下部 M-(英大文字) M-(英大文字)はキーバインドとして設定されておらず、M-(英大文字)にキーバインドとして登録できる。 ファンクションキー ファンクションキー f5 〜 f9 は自由に割り当てられる。また、Shift+ファンクションキー、Alt+ファンクションキー、Ctrl+ファンクションキーも自由に割り当てられる。 ファンクションキーをlispでは[f1]。 例: (global-set-key [f8] recentf-open-files) 連続でキーバインドを実行したときの挙動を変える(sequential-command.el) C-a C-a で文頭、C-e C-eで文末となる。 以下を.emacsに追記 ;;; sequential-command.el ;;; M-x auto-install-batch sequential-command.el (require 'sequential-command-config) (sequential-command-setup-keys)
https://w.atwiki.jp/bambooflow/pages/68.html
コマンド操作 コマンドを使用する場合は、次のように実行する。 例)カーソルを1つ進める M-x foward-char [Enter] カーソル移動 キー操作 コマンド 説明 C-f foward-char カーソルを1つ進める C-b backward-char カーソルを1つ戻す C-n next-line カーソルを下方向に動かす C-p previous-line カーソルを上方向に動かす M-f foward-char カーソルを1単語進める M-b backward-char カーソルを1単語戻す C-a beginning-of-line カーソルを行の先頭へ移動する C-e end-of-line カーソルを行の末尾へ移動する C-l recenter 画面を現在行を表示し直す
https://w.atwiki.jp/cscd/pages/27.html
;色んなサイトからもらってきてます。細かい説明はここではしないで ;とりあえず貼りつけておきます。 ;なにかあれば本人まで直接聞いてください。 ;(本人もよく分かってない部分もありますけど) ;このファイルが同じでも、XIMが効く環境と効かない環境があるしな・・・ ; ;=================================== ;; load path ;=================================== ;(setq load-path (cons "/usr/share/emacs/22.2/lisp/" load-path)) (setq load-path (cons "/usr/share/emacs/23.2/lisp/" load-path)) ;=================================== ; Language ;=================================== (if (string-match "^21\." emacs-version) (require un-define)) (set-language-environment "Japanese") (set-terminal-coding-system utf-8) (set-keyboard-coding-system utf-8) (set-buffer-file-coding-system utf-8-unix) ;(set-buffer-file-coding-system utf-8) (setq file-name-coding-system utf-8) (setq default-buffer-file-coding-system utf-8) (prefer-coding-system utf-8) (set-default-coding-systems utf-8) ;(set-clipboard-coding-system utf-8) ;=================================== ; font ;=================================== ; emacs23 用設定 (cond ( (string-match "^23\." emacs-version) (cond (window-system ;(set-default-font "Bitstream Vera Sans Mono-15") (set-fontset-font (frame-parameter nil font) japanese-jisx0208 ; ("IPAゴシック" . "unicode-bmp")) ("IPAGothic" . "unicode-bmp")) ; ("Yutapon coding Heavy" . "unicode-bmp")) ; ("Hiragino Gothic" . "unicode-bmp")) )))) ; emacs21 用設定 ;(cond ((string-match "^21\." emacs-version) ;(cond (window-system ;(create-fontset-from-fontset-spec ; "-shinonome-gothic-medium-r-normal--18-*-*-*-*-*-fontset-18") ;(set-default-font "fontset-18"))))) ;=================================== (pc-selection-mode) ;;shift+矢印キーでの範囲選択 ;;=================================== ;;行番号表示モード ;==================================== (autoload setnu-mode "setnu" nil t) (global-set-key [f12] setnu-mode) ;;F12でトグル動作 ;==================================== ; カーソル移動設定 ;==================================== ;カーソル移動を論理行ではなく、物理行(見たまま)単位で移動する。 (require physical-line) (setq-default physical-line-mode t) ;; dired-mode は論理行移動のままにする. (setq physical-line-ignoring-mode-list (dired-mode)) ;==================================== ; 最近使ったファイル」を(メニューに)表示する ;==================================== ; M-x recentf-open-files で履歴一覧バッファが表示される。 (require recentf) ;;http //homepage.mac.com/zenitani/elisp-j.html#recentf ;; /sudo hogehoge などが履歴に残っていると、起動時に毎回パ ;; スワードを聞いてくるのでその履歴だけを削除する。 ;;(setq recentf-exclude ("^/[^/ ]+ ")) ;;tramp対策。 (setq recentf-auto-cleanup never) ;;tramp対策。 (recentf-mode 1) ;================= ; elscreen ;================= (load "elscreen" "ElScreen" t) ;=================== ;(setq skk-kutouten-type en);;句読点をカンマ、ピリオドにhttp //d.hatena.ne.jp/suztomo/20080921/1222009884 ;================================== ;C-hをBackspaceとして使う ;http //www.fan.gr.jp/~ring/Meadow/meadow.html#back-space (keyboard-translate ?\C-h ?\C-?) (global-set-key "\C-h" nil) ;================================== ;(add-to-list load-path "/usr/share/emacs/site-lisp/yatex/") ;============================================================ ;;; YaTeX ;(setq YaTeX-prefix "\C-c" ) (setq YaTeX-inhibit-prefix-letter nil) ;========================================================
https://w.atwiki.jp/nanige/pages/11.html
color themeを使ってemacsのカラー設定をする。 背景が暗い色じゃないと疲れてしまうのです。 emacs21をdebian etch上で使用中。 color themeのインストール emacs on debianの場合 # apt-get inastall emacs-goodies-el emacs設定 ~/.emacsに以下を追加 (require color-theme) (color-theme-blue-sea) blue-seaはthemeの名前 tags debian emacs
https://w.atwiki.jp/ntemacs/pages/63.html
【お知らせ】 2021/08/11 追記 次のリポジトリのコマンドに Windows 11 の対応を行いました。 https //github.com/smzht/wsl-utils 2021/02/05 追記 本ページの内容は WSL2 でも動作します。DrvFs や VolFs の記載がある場合には、Windows 側のファイルシステム、WSL2 側のファイルシステムと読み替えてください。 2020/10/27 追記 WSL2 では、UNC パスをマウントしているマウントポイント配下がカレントディレクトリの状態で Windows の exe コマンドを実行するとエラー終了します。sglstart にこの対策を行いました。 https //github.com/smzht/wsl-utils/commit/e311996f02f0b7f3939cda933d677e36cf9d1bf6 2018/01/24 追記 この設定の Cygwin版 もあります。お試しください。 singleton な動きをする cygstart 的コマンドを使うための設定 (Cygwin版) 2017/09/15 追記 本設定で紹介しているコマンドは次の設定と一緒に使うことを想定しています。Windows 上のドキュメントファイルを Emacs の dired から開くことができ、開いたファイルの操作を Emacs のキーバインドで行うことができるようになるため、OS 全体を Emacs で操作している感覚となります。本設定と併せ、お試しください。 dired を OS と連携して使うための設定 Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) 【本題】 Windows Subsystem for Linux で singleton な動きをする cygstart 的コマンドを使うための設定です。 本コマンドを作成した目的は、「singleton な動きをする cygstart 的コマンドを使うための設定 (Cygwin版)」内の説明を参照ください。この設定の Windows Subsystem for Linux 版 が本コマンドとなります。 1) Windows 10 1903 以降をインストールする。 2) Windows Subsystem for Linux を有効にし、Ubuntu 等の Linux をインストールする。 3) 次の設定に従い、wslstart コマンドをインストールする。 WSL で cygstart 的コマンドを使うための設定 4) 次のリポジトリにある sglstart というスクリプトを wslstart をインストールしたパスと同じ場所に格納する。 https //github.com/smzht/wsl-utils 5) DrvFs ファイルシステム上にフォルダを作成し、そのフォルダのパスを PATH に登録する。そして、そのフォルダに次のリポジトリにある winactivate.exe を配置する。 https //github.com/smzht/win-utils ※ Windows 10 1903 を利用している場合、PATH に登録するパスは DrvFs のフォルダへの実際のパス(シンボリックリンクではないパス)としてください。シンボリックリンクのパスを PATH に登録すると、exe コマンドが実行できなくなります。 6) コマンドの動作の精度を高めるため、次の説明に従い「ファイル名の拡張子を表示する」設定を行う。 https //pc-karuma.net/windows-10-show-explorer-file-name-extension/ ※ 設定を行わなくてもコマンドは動作しますが、suffix だけが異なる名前をもつ複数のファイルを開いている際などの動作精度が高まりますので、設定することをお薦めします。 7) WSL 上で sglstart filename を複数回実行し、singleton な動きをする cygstart 的コマンドとして機能することを確認する。 なお、本設定は Emacs の dired-open パッケージや「dired を OS と連携して使うための設定」 と連携することを目的として作成しました。Emacs の dired と連携しなければ利用場面が限られ、あまり有効な設定ではないかもしれません。 変更履歴 2016/09/21 このページを作成した。 2016/10/08 drvfs_access_only=1 の際に lxss_path の設定等の無駄な処理が行われないように改善した。 2017/05/23 Windows 10 1703 用にスクリプトの見直しを行った。 2017/09/14 開くファイルが VolFs ファイルシステム上にある場合でも、そのファイルを DrvFs ファイルシステム上にあるテンポラリフォルダ配下に複写し、起動できるように対応した。 2017/09/15 本コマンドから起動したアプリにフォーカスが移らないことがある場合の対策を行った。 2017/09/15 空白を含むファイルのオープンに対応した。 2017/09/16 ウィンドウをポップアップする判定条件を見直した。 2017/11/24 ウィンドウをアクティベートする方法を AutoHotKey を使った方法に見直した。 2018/02/28 mount されたネットワークボリュームでもコマンドが正常に実行できるように対応した。 2018/03/23 wsl コマンドの見直しにより、高速化対策を行った。 2019/09/01 sglstart の内部から呼ばれている winactivate.exe コマンドを更新した。