LoginSignup
3
3

More than 5 years have passed since last update.

MacのFinderでファイルパスをコピーしてからターミナル.appやiTerm2.appにテキストをエスケープしてペーストする時のショートカットキーの違いを見つけたので、備忘録として。

Last updated at Posted at 2015-10-24

El capitan 10.11.1
Terminal.app
iTerm2.app

動機

iTerm2.appでディレクトリを移動したい時などに、Finderでファイルパスをコピー&ペーストで行おうとした時に、No such file or directory とエラーとなってしまうことで、いろいろ調べてみた。

原因

ディレクトリネームにスペースがあることでエラーとなることが判明。

% cd /Users/Home/Desktop/Test Dir

% cd Volumes/Macintosh HD2/TestDir

対処方法

スペースの前に \ バックスラッシュや、パスを " " で囲むことで認識されるようになることが解った。


ターミナル.appの場合

1.通常の ⌘v でパスをペースト
% cd /Volumes/Macintosh HD2/TestDir
その後で、
% cd "/Volumes/Macintosh HD2/TestDir" か、
% cd "/Volumes/Macintosh\ HD2/TestDir と、手動で追加する。

2.メニュー⇨編集⇨「テキストをエスケープしてペースト」で選択する方法と、control+command+v ショートカットキーでペーストする方法。

% cd /Volumes/Macintosh\ HD2/TestDir

上記の例のように、スペースの前にエスケープとしてバックスラッシュが追加された状態でペーストされます。

参考サイト
「ターミナル」で空白文字を含むディレクトリやファイルを扱うときに便利な小技


iTerm2.appの場合

iTerm2.appでは「テキストをエスケープしてペースト」での方法を見つけることができなかったのと、control+command+v でのペーストにも対応していない、手動で訂正するのも合理的じゃない気がする、なんとかターミナル.appのように一発でペーストがしたいという気持ちのまま、下記のサイトを参考にしてみた。

参考サイト
MacOSX - FinderでファイルをコピーしてからTerminalにペーストすると絶対パスがペーストされる - Qiita

上記サイトで紹介していたzshの設定で、URLを自動でエスケープしてくれるという

autoload -U url-quote-magic
zle -N self-insert url-quote-magic

を、.zshrcに設定して試してみましたが、設定方法を間違ってしまったのかうまくいきませんでした。


偶発的な起こり

iTerm2.appでなんとか方法はないものかとあれこれ試していた時、option+command+v で、スペースの前にバックスラッシュが入った状態でペーストされました。

やっと方法を見つけたぞ!  よっしゃー!  

まとめ

改めて、ファイルネームやホルダーネームにはスペースは使わない方が良いと思ったのと、
多分みんな知っているのかなと思いつつも、いくらググっても見つけることができずいたのが、対応できる方法が見つかり解決できたのが良かったと思い安堵してます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3