কমান্ড লাইন থেকে পাঠ্য ফাইলগুলি সম্পাদনা করার জন্য অ্যাপ্লিকেশনটি খুলুন


9

ওএসএক্সে টেক্সটরঙ্গলার ইনস্টল করার সময় আপনি একটি editকমান্ড পাবেন যা আপনাকে কমান্ড লাইন থেকে কোনও পাঠ্য ফাইল খুলতে দেয়।

নির্দিষ্ট টেক্সট এডিটরে (কেট বলুন) কোনও ফাইল খোলার জন্য টার্মিনালে কিছু কমান্ড টাইপ করার জন্য উবুন্টুতেও কি একইরূপ কার্যকারিতা থাকা সম্ভব?

উত্তর:


11

ব্যবহার করে একটি ফাইল খুলতে 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

আপনি যদি একই টার্মিনালটি ব্যবহার করতে চান, &কমান্ডের পরে একটি যুক্ত করুন :

kate filename 2>/dev/null &

আপনি যদি edit filenameএটি খোলার জন্য দৌড়াতে চান তবে আপনি নিজের ~/.bashrcফাইলটিতে ব্যাশ ফাংশন তৈরি করতে পারেন । আপনার ~/.bashrcফাইলটিতে পরবর্তী কোড যুক্ত করুন:

edit() { kate "$@" 2>/dev/null & }

এটি আমি যা খুঁজছিলাম তার কাছাকাছি যায়। কমান্ডগুলি প্রকৃতপক্ষে চালানোর জন্য ধন্যবাদ এবং সর্বাধিক সুস্পষ্ট সমাধানের সাথে উত্পন্ন সমস্যাগুলি দেখুন। আমি অনুমান করি আমি যা করব তা হল একটি নতুন কমান্ড তৈরি করা যা আমি edit filenameপুরোটা চালানোর জন্য কেবল কল করতে পারি kate filename 2>/dev/null &
জুয়ান এ নাভারো

1
@ জুয়ান: আমি এটি করার জন্য একটি উদাহরণ যুক্ত করেছি। $@ক্ষেত্রে প্রয়োজন আপনি লাইন নম্বর মত অতিরিক্ত অপশন পাস প্রয়োজন। বিকল্প হিসাবে, আপনি সমর্থন করার জন্য এই ফাংশনটি টুইট করতে পারেন edit filename linenumber
লেকেনস্টেইন

আপনার উত্তরে একটি ত্রুটি রয়েছে এবং আমি এটি সম্পাদনা করতে পারি না। আপনি চারপাশে থাকা উক্তিগুলি $@( ভুলে যাওয়া উচিত "$@") ভুলে গেছেন , যার অর্থ আপনার স্ক্রিপ্টটি ফাঁকা ফাইল ফাইলগুলির সাথে ব্যর্থ হবে।
স্কট সিভেরেন্স

18

আপনি এ জাতীয় যে কোনও সম্পাদক খুলতে পারেন (আমার জ্ঞান অবধি):

NAME_OF_EDITOR ফাইল ফাইল

gedit filename(উবুন্টু)
kate filename(কুবুন্টু)
bluefish filename
kwrite filename
libreoffice filename

আপনি এমনকি কোনও ওয়েব পৃষ্ঠা
firefox filename.html
chrome filename.html
banshee filename.oggবা এমপি 3 খুলতে পারেন

আপনি এখানে প্রবণতা দেখতে পারেন ..


আসলে এটি হওয়া উচিত gedit filename &অন্যথায় টার্মিনালটি ব্যবহারের অযোগ্য হয়ে যায়। একই জিনিসটি ঘটে kateতবে &এটি টার্মিনালটিকে অকেজো করে তোলে কারণ এটি টার্মিনালে ডিবাগ (বা যাই হোক না কেন) তথ্য স্পিট করা শুরু করে। &শেষ পর্যন্ত এড়ানো কোনও উপায় আছে কি ? আমি যেমন editটেক্সটরঙ্গলার থেকে করি?
জুয়ান এ নাভারো

কোনও বিষয় নয়, লেকেনস্টেইনের উত্তর আমি যা খুঁজছিলাম তার (কমপক্ষে নিকটবর্তী))
জুয়ান এ নাভারো

1
সত্য, আপনি যদি এটির ব্যবহার চালিয়ে যেতে চান তবে কনসোলে আউটপুট ত্রুটি এবং স্টাফ না দেওয়ার জন্য আপনি এতে & > বা 2> / dev / নাল যুক্ত করতে পারেন।
লুইস আলভারাডো

3

আপনি যদি editউবুন্টুতেও কমান্ডটি ব্যবহার করতে পছন্দ করেন কারণ আপনি এটি করতে অভ্যস্ত তাই আপনি কেটের মতো আপনার পছন্দসই সম্পাদকের জন্য একটি উপাধিও সংজ্ঞায়িত করতে পারেন:

alias edit='kate'

এই ওরফে পারমান্ট তৈরি করতে কেবল এই লাইনটি যুক্ত করুন ~/.bash_aliases


2

আপনার যদি কোনও গ্রাফিক্স পরিবেশ না থাকে এবং আপনি কনসোলে চলছে তবে আপনি সর্বদা ব্যবহার করতে পারেন:

vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...

এবং তাই প্রথম উত্তর ফিরে আসে ..


1
আপনি যদি উইন্ডোযুক্ত পরিবেশের মধ্যেও ভিটি 100 (এক্স) ইমাক চান তবে "ইমাসস-এনডাব্লু" বা "xemacs -nw"।
ব্যারিকার্টার

1

ফাইলগুলি খোলার ও সম্পাদনার জন্য আপনি সিএলআই কমান্ডটি ব্যবহার করতে পারেন example উদাহরণস্বরূপ জিনোমে geditবা kateকে। ডি।

লিখো:

kate filename

কেটে ফাইল খুলতে


1

আমি মাঝে মাঝে একটি ক্লাসিকাল টার্মিনাল ব্যবহার করি যেখানে ম্যাসিডিট আমার পছন্দসই সম্পাদক এবং প্রায়শই কোনও প্রোগ্রাম / স্ক্রিপ্ট সংশোধন করতে একটি লাইন নম্বর পাস করতে পছন্দ করেন।

অভিন্নভাবে তাদের ডাকতে 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

গ্রাফিকাল সম্পাদক হিসাবে যখন আমি স্কাইট ব্যবহার করতাম, জিডিট নয়, তখন থেকে পুরানো ডিবাগ নির্দেশাবলী দেখুন ব্যবহার করুন।

এমন কিছু যা এইভাবে কাজ করে না, তা এই জাতীয় একাধিক ফাইল খুলছে:

 edit *.html

যদি একাধিক এইচটিএমএল-ফাইল থাকে, তবে প্যাটার্নটি একাধিক ফাইলগুলিতে প্রসারিত হবে।

বৈধ আমন্ত্রণগুলি হ'ল:

 edit 
 edit foofile 
 edit foofile 123

এক্স বা টার্মিনাল থেকে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.