読者です 読者をやめる 読者になる 読者になる

計算物理屋の研究備忘録

Linux, Cygwin, Mac, zsh, emacs等の使い方、設定などのメモ

Cygwinをファイラーとしてエクスプローラーの代わりに使う時の便利な方法

Cドライブへ移動

Cygwinではルートディレクトリにcygdriveというものがある。これを経由するとWindowsのCドライブやDドライブに移動できる

$ cd /cygdrive/c

シンボリックリンク

毎度毎度cygdriveを経由して移動するのはめんどう。シンボリックリンクWindowsでいうショートカット)をホームにでも張っておくと楽ができる。とりあえずデスクトップなんかをシンボリックリンクしておくと便利。

デスクトップの絶対パスは以下の通り。(xxxusernamexxxは各自のユーザーネームが入る)

$ pwd 
/cygdrive/c/Users/xxxusernamexxx/Desktop

たとえばホームディレクトリにデスクトップのリンクを張る場合

$ ln -s /cygdrive/c/Users/xxxusernamexxx/Desktop

これでホームにDesktopというシンボリックリンクができるはず。これでホームから普通のディレクトリのようにデスクトップへ一発で移動できる。

ホームからリンクを使ってデスクトップへ移動して、cd ..で一つ上のディレクトリ(この場合はxxxusernamexxx)に戻ろうとすると、xxxusernamexxxではなく~/Desktopの一つ上であるホームディレクトリに戻されてしまう。

cd ..で実際のリンク先の一つ上のディレクトリに移動するように設定することもできる。~/.zshrcなどの設定ファイルに以下のように書いておく

setopt chase_links

bashとかzsh以外ではどうなるか知らない。

cygstartで関連づけされたプログラムを起動

cygstartCygwin独自のコマンド。エクスプローラーでxxx.docというワードファイルをダブルクリックしたら自動でワードが起動するのと同じ役割。Macでいうopen。以下のコマンドでcygwinからすぐワードでファイルを開くことができる。

$ cygstart xxx.doc

zshのsuffix alias (alias -s)

cygstartopenエイリアスしている人がけっこういるみたいだ。コマンド名が長いからだろう。zshを使っている人はsuffix aliasというもっと便利なエイリアスがある。.zshrcなどに

alias -s doc=cygstart

と書いておくと、拡張子docのファイルを直接実行するだけでcygstartで実行してくれるようになる。

$ ./xxx.doc

これでxxx.docファイルをワードで開くことができる。いろいろ設定しておくと便利

.zshrc

alias -s bib=cygstart
alias -s cif=cygstart
alias -s eps=cygstart
alias -s pdf=cygstart
alias -s png=cygstart
alias -s ppt=cygstart
alias -s pptx=cygstart
alias -s ps=cygstart
alias -s tex=cygstart
alias -s txt=cygstart
alias -s vasp=cygstart
alias -s vesta=cygstart
alias -s xls=cygstart
alias -s xlsx=cygstart
alias -s xsf=cygstart

カレントディレクトリをエクスプローラやその他ファイラーで開く

画像ファイルをパワーポイントにドラッグ&ドロップで貼り付けたいとき、これはCygwinじゃ無理だ。おとなしくエクスプローラX-finderなどのファイラーを使う。

エクスプローラーで開く

cygstartを使えば簡単

$ cygstart .

その他ファイラーで開く

パスをコピペで貼り付けるのが楽。CygwinにはLinux型のパス表記をWindows型のパス表記に変換するコマンドcygpath -wがある。カレントディレクトリを変換するコマンドをエイリアスしておく

wpath='cygpath -w `pwd`'

これでwpathで一発でWindows型のパスを取得できる。

$ wpath
C:\Users\xxxusernamexxx\Desktop