ฉันสามารถสร้าง symlink (ไปยังโฟลเดอร์. app) ในไดเรกทอรีแอปพลิเคชันปรากฏในสปอตไลท์ได้หรือไม่


45

ฉันใช้ชงเพื่อติดตั้ง MacVim และวางไว้ /usr/local/Cellar/macvim/7.3-61/MacVim.app

ฉันต้องการไปที่สปอตไลท์แล้วพิมพ์ MacVim เพื่อเปิดแอป ฉันพยายามสร้าง symlink /usr/local/Cellar/macvim/7.3-61/MacVim.appในไดเรกทอรีการประยุกต์ใช้งานกับ แต่ดูเหมือนจะไม่ปรากฏใน Spotlight ฉันตั้งบิตปฏิบัติการบน symlink เปิด MacVim.app จากบรรทัดคำสั่งทำงาน ฉันจะให้ MacVim แสดงในการค้นหา Spotlight ได้อย่างไร


2
สปอตไลท์ไม่ได้ดูในโฟลเดอร์ที่ซ่อนอยู่และไม่สามารถใช้แทนนามแฝงได้ คุณใช้สปอตไลท์เพื่อเปิดแอพหรือไม่? ถ้าเป็นเช่นนั้นฉันจะต้องแนะนำalfredapp.comอีกครั้ง ฉันใช้มันและมันยอดเยี่ยม เร็วกว่าสปอตไลต์!
kevin9794

ขอบคุณ ฉันติดตั้งอัลเฟรดและเพิ่มโฟลเดอร์ MacVim ลงในขอบเขตการค้นหา ผมมีรูปร่างที่ดีขึ้นมาก
m_sharp

3
ตกลงฉันคิดออก หากฉันสร้างนามแฝงให้กับ /usr/local/Cellar/macvim/7.3-61/MacVim.app สปอตไลท์จะจัดทำดัชนี สำหรับข้อมูลเพิ่มเติมเกี่ยวนามแฝงตรวจสอบswitchingtomac.com/tutorials/creating-aliases-in-mac-os-x
m_sharp

3
ยินดีต้อนรับสู่ถามที่แตกต่างกัน! หากคุณพบวิธีแก้ไขโปรดโพสต์เป็นคำตอบเพื่อให้ผู้อื่นที่มีปัญหาเดียวกันง่ายขึ้นเพื่อดูว่ามีอะไรช่วยได้บ้าง โปรดดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม ขอบคุณ
Nathan Greenstein

1
เพื่อชี้แจงความคิดเห็นของ @ m_sharps ดูเหมือนว่า Spotlight จะจัดทำดัชนีชื่อแทน แต่ไม่ใช่ลิงก์สัญลักษณ์ ( ln -s)
zourtney

คำตอบ:


37

ใน Finder กดCommandShiftGสำหรับไปที่โฟลเดอร์ ประเภทและกด/usr/local/Cellar/macvim/7.3-61/ returnเลือกไฟล์ (ที่จริงโฟลเดอร์) MacVim.appกดCommandLสำหรับยี่ห้อนามแฝง คุณอาจได้รับแจ้งให้ใส่รหัสผ่านของผู้ดูแลระบบที่นี่ทั้งนี้ขึ้นอยู่กับการอนุญาต

กดCommandNเพื่อสร้างหน้าต่าง Finder ใหม่ กดCommandShiftAเพื่อไปที่โฟลเดอร์Applicationsในหน้าต่างนั้น

ลากนามแฝงที่สร้างขึ้นใหม่จากหน้าต่างที่สร้างไปยังหน้าต่างที่มีโฟลเดอร์Applications เปลี่ยนชื่อนามแฝงเพื่อไม่ให้ลงท้ายด้วย "นามแฝง" อีกต่อไป


2
ฉันทำตามขั้นตอนของคุณแล้ว MacVim ก็แสดงขึ้นมา อย่างไรก็ตามเมื่อพยายามเปิด MacVim จากสปอตไลต์ฉันได้รับข้อความแสดงข้อผิดพลาด "Item MacVim นั้นใช้โดย OS X และไม่สามารถเปิดได้"
m_sharp

อืมม ตามปกติแล้วคุณจะเรียกใช้ MacVim เมื่อไม่ใช้งาน Spotlight ได้อย่างไร คุณได้รับข้อความแสดงข้อผิดพลาดหรือไม่?
Daniel

บางทีสปอตไลท์ไม่สามารถเปิดได้เนื่องจากไม่มีสิทธิ์ในการเข้าถึง / usr / local / หรือบางอย่าง
สไตล์

ฉันได้รับการทำงานโดยการเปลี่ยนสิทธิ์ใน / usr / local / Cellar ด้วย 'sudo chflags nohidden / usr / local / Cellar' (จริง ๆ แล้วฉันได้ทำเพื่อ / usr / usr / local และ / usr / local / Cellar) จากนั้นฉันใช้ Finder เพื่อสร้างนามแฝงสำหรับ MacVim (หนึ่งใน Cellar) จากนั้นฉันย้ายชื่อแทนไปยังโฟลเดอร์แอปพลิเคชันของฉัน ตอนนี้ Spotlight ค้นหา MacVim (ดูที่ด้านล่างของรายการจนกว่าคุณจะเปิดครั้งเดียว)
Chris

ฉันต้องทำการเปลี่ยนแปลงการอนุญาตเพิ่มเติมโดยค่าเริ่มต้นแล้วมันจะปรากฏว่า symlink สร้างขึ้นโดยไม่มีสิทธิ์ดำเนินการใด ๆ เลยการเพิ่มสิ่งที่ทำให้ symlink ปรากฏขึ้นในสปอตไลท์ อย่างผิดปกติพอนามแฝงที่ฉันสร้างขึ้นและเปลี่ยนชื่อเป็นบางสิ่งที่ไม่ได้รวมคำว่า "นามแฝง" ไว้ท้ายที่สุดก็ไม่ได้รับความสนใจ ใส่ "นามแฝง" กลับมาที่จุดสิ้นสุดของชื่อ symlink คงที่ -
chrismarx

6

วิธีนามแฝงไม่ได้ผลสำหรับฉัน ตัวเลือกที่ดีกว่าคือการใช้ Automator เพื่อสร้างแอปพลิเคชันที่รันเชลล์สคริปต์:ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้การลิงก์โดยตรงไปยัง MacVim.app ในไดเรกทอรี Cellar เหมือนคำตอบอื่น ๆ แนะนำให้คุณผูกกับรุ่นที่ระบุ หาก Brew อัพเกรด MacVim ลิงก์ของคุณจะยังคงชี้ไปที่เวอร์ชันเก่า แต่คุณควรใช้:

open /usr/local/opt/macvim/MacVim.app $@

เนื่องจากตำแหน่งนี้มีการเชื่อมโยงโดยอัตโนมัติโดยสร้างเป็นรุ่นล่าสุด

มันใช้งานได้ดีสำหรับฉัน ฉันบันทึกไฟล์ Automator ใน iCloud เพื่อให้ฉันสามารถเพิ่มแอพลงในเครื่องอื่นได้อย่างสะดวก


ดูเหมือนว่าทางออกที่แข็งแกร่งที่สุด มีไว้$@เพื่ออะไร
Jacktose

1
$ @ แสดงถึงอาร์กิวเมนต์ที่ส่งผ่านไปยังสคริปต์ ในกรณีนี้ args ใด ๆ ที่ส่งไปยังสคริปต์จะถูกส่งต่อไปยัง MacVim.app (เช่นชื่อไฟล์ตัวเลือก ฯลฯ ) ดูคำตอบเกี่ยวกับตัวแปรเชลล์พิเศษ
ซิม

อ่าขอบคุณ มันยากที่ google $@จริงๆ ที่จริงแล้วจะทำทุกอย่างในกรณีนี้เนื่องจากสคริปต์กำลังทำงานโดยเลือกแอป
Jacktose

1
ใช่มันมีประโยชน์เช่นถ้าคุณใช้Open withคำสั่งกับไฟล์ใน Finder แอปจะเริ่มต้นด้วยเส้นทางของไฟล์เป็นอาร์กิวเมนต์แรก หรือหากคุณตั้งค่า MacVim เป็นแอปเริ่มต้นสำหรับประเภทไฟล์เช่น. txt - จากนั้นดับเบิลคลิกที่ไฟล์. txt จะเริ่มต้น MacVim ด้วยไฟล์ที่เลือกเป็นอาร์กิวเมนต์แรก
ซิม

4

วิธีที่ฉันแก้ปัญหานี้คือการใช้เชลล์สคริปต์และต่อท้าย

ตัวอย่างเช่นสร้างสคริปต์ด้วยโปรแกรมแก้ไขข้อความที่มี

#!/bin/bash

/usr/local/Cellar/macvim/7.3-61/MacVim.app

จากนั้นรับการต่อท้าย - http://git.abackstrom.com/appify.git

เรียกใช้ appify บนเชลล์สคริปต์และจะสร้างแอปพลิเคชันที่คุณสามารถใส่ใน / Applications ที่จะเรียกใช้ MacVim สิ่งนี้จะปรากฏในสปอตไลท์


1
หากคุณกำลังจะทำเช่นนี้เพียงแค่สร้างแอป Automator เพื่อเรียกใช้สคริปต์
ocodo

ใช่ @Slomojo ซึ่งพิสูจน์แล้วว่าเป็นวิธีที่ง่ายที่สุด ฉันสร้าง shellscript ที่เริ่มต้นแอป (ในกรณีของฉัน libreoffice) และวางไว้ใน / usr / bin จากนั้นฉันก็ใช้ Automator เพื่อเรียกใช้สคริปต์และบันทึกแอป Automator ที่สร้างขึ้นในโฟลเดอร์ Applications ของฉันด้วยชื่อที่ฉันต้องการใช้ใน Spotlight บ้าบอคอแตก
atripes

3

เพื่อให้สิ่งที่ดีและเป็นสคริปต์คุณสามารถใช้osascriptเพื่อเรียกใช้ AppleScript เพียงเล็กน้อยและสร้างนามแฝงของคุณโดยอัตโนมัติ

osascript <<END

  set macvim to POSIX file "/usr/local/Cellar/macvim/7.3-61/MacVim.app" 
  set applications_folder to POSIX file "/Applications"

  tell application "Finder"
    make alias file to macvim at applications_folder
  end tell

END

ใช้งานได้จริงซึ่งแตกต่างจาก osascript หนึ่ง liners มากมายที่ฉันได้พบในสถานที่ต่าง ๆ
Xander Dunn

1
ฉันอยากจะแนะนำให้ย้ายแอพพลิเคชั่น MacVim ไปยังแอปพลิเคชัน หรือติดตั้งผ่านทางถังเบียร์ นามแฝงทำดัชนีในสปอตไลท์ แต่พวกเขาอยู่ในอันดับต่ำอย่างน่ารำคาญ
ocodo

ขอบคุณ ฉันสังเกตเห็นว่ามันยากที่จะให้ Spotlight เลือกนามแฝง MacVim ของฉัน
Xander Dunn

2

สำหรับผู้ที่ใช้ homebrew เพื่อติดตั้ง macvim (แนะนำโดยสิ้นเชิง)

เรียกใช้สิ่งต่อไปนี้หลังจากติดตั้ง

brew linkapps macvim

1
น่าเสียดายที่สิ่งเหล่านี้ไม่ปรากฏใน Spotlight
Jacktose

แต่คุณสามารถสร้างนามแฝงไปยังลิงก์ MacVim ในไดเรกทอรี / แอปพลิเคชันชื่อแทนนั้นจะถูกเลือกโดย Spotlight
Piotr Czapla

น่าเสียดายที่ 'brew linkapps' ไม่มีอยู่อีกต่อไปและจะไม่ถูกแทนที่
Katarzyna

2
  1. ลิงก์สัญลักษณ์ (ln -s) ทำงานได้ไม่ดีสำหรับฉันมันไม่ปรากฏว่า Spotlight จะเห็นสิ่งนี้เป็นแอปพลิเคชัน

  2. การสร้างตัวค้นหาแทน (ตามที่อธิบายโดย Daniel) ทำงานได้ดีขึ้นเกี่ยวกับการเรียกใช้งานจากตัวค้นหา แต่ไม่ได้เมื่อใช้ตัวค้นหาเปิดด้วย ... , ชื่อแทนจะยังคงเป็นสีเทา

โดยเฉพาะอย่างยิ่งเช่นที่กล่าวถึงในความคิดเห็นอื่น ๆ ที่นี่ฉันยังต้องการให้ MacVim ใช้งานได้เมื่อใช้ Open With ... จาก Finder แต่ด้วยลิงก์สัญลักษณ์หรือนามแฝง Finder นั้น MacVim จะยังคงเป็นสีเทา

สิ่งที่ใช้ได้ผลสำหรับฉันคือสคริปต์ Automator อย่างง่าย (ดังที่อธิบายไว้ใน zim) ด้วยคำสั่ง "Run Shell Script" สิ่งเดียวที่ฉันต้องทำแตกต่างจากที่ zim แสดงในคำตอบของเขาคือการเพิ่มพารามิเตอร์-aเพื่อเปิด :

open -a /usr/local/opt/macvim/MacVim.app $@

หากไม่มี -a เมื่อใช้กับ "Open With ... " MacVim จะเปิดตัว แต่ชื่อไฟล์พารามิเตอร์จะเปิดด้วยแอปพลิเคชันเริ่มต้นของมัน - ดังนั้นฉันจะได้ทั้ง MacVim ด้วยเอกสารเปล่าและ TextEdit กับไฟล์ I เลือกที่จะเปิด (แทนที่จะเป็น MacVim เมื่อเปิดไฟล์ที่ฉันเลือก)

สคริปต์อัตโนมัติสามารถคัดลอกหรือนามแฝงไปยังโฟลเดอร์แอปพลิเคชัน ฉันยังเปลี่ยนไอคอนสคริปต์อัตโนมัติของฉันเป็นไอคอนของ MacVim ด้วยการคัดลอกและวางไอคอนจากป๊อปอัป Finder's Get Info


0

หลังจากลองใช้วิธีแก้ปัญหาต่าง ๆ ที่แนะนำแล้วสิ่งที่ดีที่สุดสำหรับฉันคือการคัดลอกแอพจาก Homebrew Cellar ไปยังไดเรกทอรีแอปพลิเคชัน:

cp -r /usr/local/Cellar/macvim/7.3-66/MacVim.app / แอปพลิเคชัน /

สปอตไลท์พบทันที


0

การกระทำที่เรียบง่ายของการติดตั้ง homebrew ทำให้ฉันสามารถสร้าง symlink ไปที่ Sublime Text บางทีคุณอาจต้องการมากกว่านี้

ติดตั้ง homebrew ที่นี่หากคุณมี macOS

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

จากนั้นจากบรรทัดคำสั่ง (สมมติว่าติดตั้ง ST แล้ว)

ln -s "/ Applications / Sublime Text.app/Contents/SharedSupport/bin/subl" / usr / local / bin / subl


-2

ฟังดูเหมือนคุณจะทำสิ่งต่อไปนี้จากเทอร์มินัล

$ ln -s /usr/local/Cellar/macvim/7.3-61/MacVim.app /Applications

คุณอาจต้องใช้sudoเพื่อวาง symlink ในไดเรกทอรี / Applications


3
สปอตไลท์ใช้ symlink กับ "ไฟล์ระบบ" เป็นไฟล์ระบบดังนั้นจึงไม่ปรากฏในผลลัพธ์ปกติ แม้ว่านามแฝงจะ
Lri

วิธีใดในการสร้างนามแฝง OS X โดยทางโปรแกรมใน Bash
งัด Bynens

@MathiasBynens - ดูคำตอบของฉัน AppleScript เล็กน้อยจะทำ
ocodo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.