Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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 で、スペースの前にバックスラッシュが入った状態でペーストされました。

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

まとめ

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away