「locate を使うための設定(WSL 設定編)」の編集履歴(バックアップ)一覧はこちら

locate を使うための設定(WSL 設定編)」(2021/02/05 (金) 09:38:53) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&bold(){■ Windows Subsystem for Linux の Emacs で利用できる設定} ---- &bold(){【お知らせ】} ---- &bold(){<2018/08/28 追記>} Cygwin での locate の利用については、こちらを参照ください。 ・[[locate を使うための設定]] &bold(){【本題】} ---- Ubuntu on WSL で locate を利用するための設定です。 Ubuntu の locate には次のページで説明されているとおり、2つのパッケージがあります。 ・http://d.hatena.ne.jp/kitokitoki/20091025/p2 デフォルトでは、mlocate がインストールされていますが、mlocate の updatedb は複数の database root パスを指定できないため、使いづらいです。 このため、locate.findutils をインストールします。 $ sudo -E apt install locate $ sudo update-alternatives --config locate # locate.findutils を有効にする つぎに、locateを使うためのDBを以下のようなスクリプトを実行して作成します。updatedb のオプションは、適当に修正してください。 ~/bin/updatedb.sh #!/bin/sh sudo updatedb \ --localpaths=' /mnt/c/home /mnt/d/home /mnt/server/home ' \ --findoptions=' -type d -name .git -prune -o -type d -name .svn -prune -o -path /mnt/c/home/tmp -prune -o -path /mnt/d/home/tmp -prune ' findoptions の設定の意味は、次のとおりです。  一行目:ディレクトリ.git は含めない  三行目:/mnt/c/home/tmp で始まるパスは含めない これで、shell から locate <検索文字列> と入力して、検索が可能となります。 Emacs からは、M-x locate で実行できます。 ※ &bold(){locate の検索に時間が掛かる場合は、データベース化するディレクトリの範囲を絞ってください。} 検索結果は、dired のように、Enter や f が利用可能ですが、以下の設定を行っておくと、より便利に利用できます。 (require 'locate) ;; ファイルのあるディレクトリを Explorer で開く (define-key locate-mode-map (kbd "E") (lambda () (interactive) (os-open-command (locate-get-dirname)))) ;; ファイルのあるディレクトリを dired で開く (define-key locate-mode-map (kbd "d") (lambda () (interactive) (dired (locate-get-dirname)))) ;; C-c l で locate を起動する (global-set-key (kbd "C-c l") 'locate) ※ 上記の設定の os-open-command は、「[[dired を OS と連携して使うための設定]]」で紹介したものと同じものを利用しています。  「[[dired を OS と連携して使うための設定]]」で行った W キーや find-file の設定も、locate の検索結果の画面で利用可能です。 locate は helm とも連携できます。 ;; locateコマンドのパラメータを指定する (setq helm-locate-command "locate %s -A --regex %s") ※ helm の設定については、次のページを参照してください。 ・[[helm を使うための設定]] ---- <変更履歴> ・2018/08/26 このページを作成した。 ---- #javascript(){{ <script> (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'); </script> }}
&bold(){■ Windows Subsystem for Linux の Emacs で利用できる設定} ---- &bold(){【お知らせ】} ---- &bold(){<2021/02/05 追記>} 本ページの内容は WSL2 でも動作します。DrvFs や VolFs の記載がある場合には、Windows 側のファイルシステム、WSL2 側のファイルシステムと読み替えてください。 &bold(){<2018/08/28 追記>} Cygwin での locate の利用については、こちらを参照ください。 ・[[locate を使うための設定]] &bold(){【本題】} ---- Ubuntu on WSL で locate を利用するための設定です。 Ubuntu の locate には次のページで説明されているとおり、2つのパッケージがあります。 ・http://d.hatena.ne.jp/kitokitoki/20091025/p2 デフォルトでは、mlocate がインストールされていますが、mlocate の updatedb は複数の database root パスを指定できないため、使いづらいです。 このため、locate.findutils をインストールします。 $ sudo -E apt install locate $ sudo update-alternatives --config locate # locate.findutils を有効にする つぎに、locateを使うためのDBを以下のようなスクリプトを実行して作成します。updatedb のオプションは、適当に修正してください。 ~/bin/updatedb.sh #!/bin/sh sudo updatedb \ --localpaths=' /mnt/c/home /mnt/d/home /mnt/server/home ' \ --findoptions=' -type d -name .git -prune -o -type d -name .svn -prune -o -path /mnt/c/home/tmp -prune -o -path /mnt/d/home/tmp -prune ' findoptions の設定の意味は、次のとおりです。  一行目:ディレクトリ.git は含めない  三行目:/mnt/c/home/tmp で始まるパスは含めない これで、shell から locate <検索文字列> と入力して、検索が可能となります。 Emacs からは、M-x locate で実行できます。 ※ &bold(){locate の検索に時間が掛かる場合は、データベース化するディレクトリの範囲を絞ってください。} 検索結果は、dired のように、Enter や f が利用可能ですが、以下の設定を行っておくと、より便利に利用できます。 (require 'locate) ;; ファイルのあるディレクトリを Explorer で開く (define-key locate-mode-map (kbd "E") (lambda () (interactive) (os-open-command (locate-get-dirname)))) ;; ファイルのあるディレクトリを dired で開く (define-key locate-mode-map (kbd "d") (lambda () (interactive) (dired (locate-get-dirname)))) ;; C-c l で locate を起動する (global-set-key (kbd "C-c l") 'locate) ※ 上記の設定の os-open-command は、「[[dired を OS と連携して使うための設定]]」で紹介したものと同じものを利用しています。  「[[dired を OS と連携して使うための設定]]」で行った W キーや find-file の設定も、locate の検索結果の画面で利用可能です。 locate は helm とも連携できます。 ;; locateコマンドのパラメータを指定する (setq helm-locate-command "locate %s -A --regex %s") ※ helm の設定については、次のページを参照してください。 ・[[helm を使うための設定]] ---- <変更履歴> ・2018/08/26 このページを作成した。 ---- #javascript(){{ <script> (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'); </script> }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: