เมื่อติดตั้งTextWranglerใน OSX คุณจะได้edit
รับคำสั่งที่อนุญาตให้คุณเปิดไฟล์ข้อความใด ๆ จากบรรทัดคำสั่ง
เป็นไปได้ไหมที่มีฟังก์ชั่นที่คล้ายกันใน Ubuntu เพื่อพิมพ์คำสั่งบางอย่างบนเทอร์มินัลเพื่อเปิดไฟล์ในโปรแกรมแก้ไขข้อความเฉพาะ (พูด Kate)?
เมื่อติดตั้งTextWranglerใน OSX คุณจะได้edit
รับคำสั่งที่อนุญาตให้คุณเปิดไฟล์ข้อความใด ๆ จากบรรทัดคำสั่ง
เป็นไปได้ไหมที่มีฟังก์ชั่นที่คล้ายกันใน Ubuntu เพื่อพิมพ์คำสั่งบางอย่างบนเทอร์มินัลเพื่อเปิดไฟล์ในโปรแกรมแก้ไขข้อความเฉพาะ (พูด Kate)?
คำตอบ:
หากต้องการเปิดไฟล์โดยใช้kate
คุณสามารถเรียกใช้สิ่งต่อไปนี้:
kate filename
นี่อาจแสดงข้อความเช่น:
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing "/usr/share/mime/magic"
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing "/home/user/.local/share/mime/magic"
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
หากต้องการลบข้อความเหล่านี้ให้เปลี่ยนเส้นทางสตรีมเอาต์พุตข้อผิดพลาดไปที่/dev/null
:
kate filename 2>/dev/null
หากคุณต้องการใช้เทอร์มินัลต่อไปให้เพิ่ม&
คำสั่ง after:
kate filename 2>/dev/null &
หากคุณต้องการedit filename
เปิดเพื่อเปิดมันคุณสามารถสร้างฟังก์ชั่นทุบตีใน~/.bashrc
ไฟล์ของคุณ เพิ่มรหัสถัดไปใน~/.bashrc
ไฟล์ของคุณ:
edit() { kate "$@" 2>/dev/null & }
$@
เป็นสิ่งจำเป็นในกรณีที่คุณต้องผ่านตัวเลือกเพิ่มเติมเช่นหมายเลขบรรทัด edit filename linenumber
เป็นทางเลือกให้คุณสามารถปรับแต่งฟังก์ชั่นนี้เพื่อสนับสนุนการ
$@
(ควรเป็น"$@"
) ซึ่งหมายความว่าสคริปต์ของคุณจะล้มเหลวด้วยชื่อไฟล์ที่มีช่องว่าง
คุณสามารถเปิด (ขึ้นอยู่กับความรู้ของฉัน) บรรณาธิการใด ๆ เช่นนี้:
NAME_OF_EDITOR FILENAME
gedit filename
(Ubuntu)
kate filename
(Kubuntu)
bluefish filename
kwrite filename
libreoffice filename
คุณสามารถเปิดหน้าเว็บในลักษณะเดียวกัน
firefox filename.html
chrome filename.html
banshee filename.ogg
หรือ. mp3
คุณสามารถดูแนวโน้มได้ที่นี่ ..
gedit filename &
อย่างอื่นมินัลยังคงใช้ไม่ได้ สิ่งเดียวกันนี้เกิดขึ้นกับkate
แม้ว่า&
จะทำให้เทอร์มินัลใช้งานไม่ได้เพราะมันเริ่มพ่นข้อมูล debug (หรืออะไรก็ตาม) ไปยังเทอร์มินัล มีวิธีการหลีกเลี่ยง&
ในที่สุดหรือไม่? ฉันจะทำด้วยedit
จาก TextWrangler?
หากคุณต้องการใช้คำสั่งedit
ใน Ubuntu เพราะคุณคุ้นเคยกับการทำเช่นนั้นคุณสามารถกำหนดนามแฝงสำหรับโปรแกรมแก้ไขที่คุณชื่นชอบเช่น Kate:
alias edit='kate'
ในการทำให้ผู้รับอนุญาตนามแฝงนี้เพียงเพิ่มบรรทัด~/.bash_aliases
นี้
หากคุณไม่มีสภาพแวดล้อมกราฟิกใด ๆ และคุณกำลังทำงานบนคอนโซลคุณสามารถใช้:
vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...
และตรงข้ามกับคำตอบแรก ..
คุณสามารถใช้คำสั่ง CLI สำหรับโปรแกรมแก้ไขที่ต้องการเพื่อเปิดและแก้ไขไฟล์ตัวอย่างเช่นgedit
ใน gnome หรือkate
ใน KDE
เพียงพิมพ์:
kate filename
เพื่อเปิดไฟล์ในเคท
บางครั้งฉันใช้เทอร์มินัลคลาสสิคที่ mcedit เป็นเครื่องมือแก้ไขที่ฉันต้องการและมักจะชอบผ่านหมายเลขบรรทัดเพื่อแก้ไขโปรแกรม / สคริปต์
ในการโทรหาพวกเขาอย่างสม่ำเสมอedit source.sh 123
ฉันได้เขียนสคริปต์นี้ซึ่งฉันวางไว้เป็น 'แก้ไข' ในเส้นทาง:
#!/bin/bash
# - edit a file using mcedit or gedit, depending on X11 or console invoking.
# - jump to specified line, if any.
Xedit=/usr/bin/gedit
if [[ $TERM = "linux" ]]; then
if [ $# -eq 1 ]; then
mcedit $1
else if [ $# -eq 2 ]; then
# echo "edit invoked\t/usr/bin/mcedit +$2 $1" >> /tmp/edit.log
/usr/bin/mcedit +$2 $1
else if [ $# -eq 0 ]; then
/usr/bin/mcedit
fi
fi
fi
else if [[ $TERM = "xterm" ]]; then
# scheint nicht zu helfen
# LANGUAGE=C
export LC_ALL=C
if [ $# -eq 1 ]; then
$Xedit $1
else if [ $# -eq 2 ]; then
# echo "edit invoked\t/usr/bin/scite -open:$1 -goto:$2" >> /tmp/edit.log
# $Xedit -open:$1 -goto:$2
$Xedit +$2 $1
else if [ $# -eq 0 ]; then
$Xedit
fi
fi
fi
fi
fi
ใช้ดูคำแนะนำการแก้ปัญหาเก่าจากเมื่อฉันใช้ scite ไม่ใช่ gedit เป็นตัวแก้ไขกราฟิก
บางอย่างที่ใช้งานไม่ได้กำลังเปิดไฟล์หลายไฟล์ดังนี้:
edit *.html
หากมีไฟล์ html มากกว่าหนึ่งไฟล์ดังนั้นรูปแบบจะขยายเป็นหลายไฟล์
การร้องขอที่ถูกต้องคือ:
edit
edit foofile
edit foofile 123
จาก X หรือเทอร์มินัล
edit filename
kate filename 2>/dev/null &