Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Explorer/Finder の右クリックで、その場所で、端末や GVim を開く

$
0
0

問題

普段はGUIで用事を済ませていて、ときどき端末を使う人向け。(Windows/Mac)

Explorer や Finder の右クリックで端末とか GVim を開けるようにしたい。
ファイルを開くのではなくて、いまマウスでつかんでいる、そのディレクトリでアプリケーションを立ち上げたい。つまり、

  • Terminal.app を起動して cdと打って フォルダをドラッグ&ドロップとかしたくない。
  • gvim.exe を起動して :cdと打って パスをコピー&ペーストとか・・・。
  • いまそのディレクトリを見ているのに、なんでまたパスを指定しなければならんのよ・・・察して移動してくれよ。

という話。よくある話だけど自分でやってみる。ちなみに GVim を立ち上げたいのは、ファイル名変更ツールとして renamer.vim がOS関係なく使えて便利なため。
参考: ファイル名変更にVimの編集力を使う(renamer.vim)

scr7.png

Windows の場合

レジストリを編集するため .reg ファイルを作る。
下記は、msys2 の mintty.exe で tcsh を使う例。(msys2 便利ですね)
パスは適宜変更のこと。メニューの中で目立つように★とか■をつけた。

context_menu.reg
Windows Registry Editor Version 5.00

; vim:fileencoding=utf-16le:ff=dos; ファイルエンコーディングは UTF-16LE; msys2 terminal[HKEY_CLASSES_ROOT\Directory\Background\shell\open_msys2]@="■tcsh here"[HKEY_CLASSES_ROOT\Directory\Background\shell\open_msys2\command]@="c:\\msys64\\usr\\bin\\mintty.exe /bin/tcsh"[HKEY_CLASSES_ROOT\Folder\shell\open_msys2]@="■tcsh here"[HKEY_CLASSES_ROOT\Folder\shell\open_msys2\command]@="c:\\msys64\\usr\\bin\\mintty.exe /bin/tcsh"; gvim[HKEY_CLASSES_ROOT\Directory\Background\shell\open_gvim]@="★gvim here"[HKEY_CLASSES_ROOT\Directory\Background\shell\open_gvim\command]@="c:\\Apps\\Vim\\gvim.exe"[HKEY_CLASSES_ROOT\Folder\shell\open_gvim]@="★gvim here"[HKEY_CLASSES_ROOT\Folder\shell\open_gvim\command]@="c:\\Apps\\Vim\\gvim.exe"

保存して実行すると、Explorer の右クリックメニューに出てくる。

Mac の場合

Automator > 「新規」 > 「サービス」でワークフローを新規作成し、
下記のように「シェルスクリプトを実行」だけ含んだサービスを作る。

「シェルスクリプトを実行」に書く
open -a Terminal `dirname "$1"`

scr2.png
シェルの設定は /bin/bash にしておいた。/bin/tcsh だと日本語を含むパスでエラーになったため。(これは Terminal.app で実行されるシェルとは無関係)

ワークフローを保存すると、保存するとき付けた名前が Finder の右クリックに現れる。
.workflow ファイル自体は ~/Library/Services/に保存されているので、メニューを消したい時はファイルを削除する。

MacVim.app 起動の場合は、

「シェルスクリプトを実行」に書く
cd`dirname "$1"`
/Applications/MacVim.app/Contents/MacOS/Vim -g

Terminal.app も MacVim も既存のサービスがあるから、自分で作る意味はあまりないが、自分で作れるということに意味がある、ということにしよう。

その他

Mac だと何もないところをクリックしてもメニューに現れないのでファイルかフォルダをつかむ必要がある。逆に Windows では何もないところかフォルダをつかむ必要があり、ファイルをつかんだときはメニューにでてこない。若干挙動が違うけど、動くからこれで良し。

参考

MSYS2 "Open Here" registry settings

Finderで選択したフォルダをiTermで開く


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>