শেল ছাড়াই একটি প্রস্থান কোডের জন্য অপেক্ষা না করে সাইগউইন থেকে নোটপ্যাড ++ ব্যবহার করুন


19

আমি সাইগউইন চালাচ্ছি এবং নোটপ্যাড ++ প্রধান শেল সম্পাদক হিসাবে ব্যবহার করতে চাই, আমার ম্যাকের মতো আমার mate whateverটেক্সটমেটের একটি উদাহরণ খুলতে আমি টাইপ করতে পারি like ~/.bashrcসাইগউইনে আমার ফাইলে আমার নীচের নাম এবং পরিবেশের পরিবর্তনশীল সেট রয়েছে:

export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"

এটি বেশিরভাগ ক্ষেত্রেই কাজ করে: যখন আমি টাইপ করি np whateverবা যখন কোনও সাইগউইন প্রোগ্রাম $ এডিটরটির জন্য কল করে, নোটপ্যাড ++ খোলে।

তবে নোটপ্যাড ++ বন্ধ না হওয়া পর্যন্ত শেলটি অপেক্ষা করে এবং ততক্ষণ কোনও ইনপুট অনুমতি দেবে না। এটি ব্যাশের জন্য নির্দিষ্ট হতে পারে তবে আমি কীভাবে সাইগউইন থেকে নোটপ্যাড ++ খুলতে পারি এবং শেলটিকে কীভাবে একটি প্রস্থান কোডটি অবিরত না হওয়ার জন্য অপেক্ষা করতে বলি ? &ওরফে কমান্ডের শেষে একটি যুক্ত করা সঠিকভাবে কাজ করে না - এটি কেবল একটি শিরোনামহীন ফাইল খোলে এবং ফাইলটি filename: command not foundখোলার পরিবর্তে সতর্ক করে।

ধন্যবাদ!

উত্তর:


16

আপনি bashঅ্যাম্পারস্যান্ডের আগে যুক্তিগুলি পাস করার জন্য কোনও ফাংশন চেষ্টা করতে পারেন :

np ()
{
    /cygdrive/c/Program\ Files/Notepad++/notepad++.exe $* &
}

কিন্তু বড় ইস্যু পুরো ধারণা হতে পারে না যতক্ষণ না নোটপ্যাড ++, প্রস্থানের অপেক্ষা করছে। শেল কমান্ডগুলি যা $EDITORসাধারণত ব্যবহার করা হয় সেগুলি সম্পাদনা সম্পন্ন হয়েছে এমন কোনও ইঙ্গিত ফেরত না দেওয়া পর্যন্ত অপেক্ষা করার জন্য ডিজাইন করা হয়। এর অর্থ সাধারণত যে সম্পাদকটি বেরিয়ে এসেছে (উদাহরণস্বরূপ viবা এর সাথে nano)।

আপনার এ গিয়ে Emacs সেট করতে একটি উপায় আছে EDITORথেকে emacsclientএবং তারপর আপনার কাজ শেষ হয়ে সম্পাদনা করছেন, আপনি একটি ঐন্দ্রজালিক কীস্ট্রোক (আঘাত C-x #নির্দেশ করে এডিটিং সম্পূর্ণ হলে)। নোটপ্যাড ++ এর সাইগউইন ব্যবহারকারীদের জন্য যদি কিছু অনুরূপ থাকে তবে আমি দেখতে পাচ্ছি যে এটি কীভাবে কাজ করবে।

অন্য বিকল্পটি হ'ল প্লেইন, বোরিং, সহজ নোটপ্যাডকে আপনার এডিটর হিসাবে এবং নোটপ্যাড ++ ভারী ব্যবহারের জন্য সংরক্ষণ করুন (আমি এই ব্লগ পোস্ট থেকে ধারণা পেয়েছি )


দুর্দান্ত — যে কাজ করেছে। আমি EDITOR হিসাবে ভ্যানিলা নোটপ্যাড এবং নোটপ্যাড ++ হিসাবে এনপি () হিসাবে যাচ্ছি
অ্যান্ড্রু

নোটপ্যাডের সম্পাদনা শেষ হওয়ার জন্য
অপেক্ষাও

8

আমি এটিকে একটি সিম্পলিংক দিয়ে সমাধান করেছি।

ln -s /cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe ~/bin/npp

অবশ্যই ~ / বিন আমার $ PATH এ আছে।

এখন একটি ফাইল খোলার জন্য আমি কেবল সাইগউইন প্রম্পট থেকে "npp filename.txt" টাইপ করি। কমান্ডের শেষে আমাকে & ব্যবহার করতে হয়নি।

এটি বর্তমানে চলমান নোটপ্যাড ++ উইন্ডোতে অন্য কোনওটি খোলার পরিবর্তে একটি ট্যাব নিক্ষেপ করবে - এবং যদি ফাইলটি ইতিমধ্যে খোলা থাকে তবে এটি আবার খুলবে না।


আপনি কীভাবে $ PATH এ ~ / বিন যোগ করবেন?
এরিক চ

3

EDITOR = "/ সাইগড্রাইভ / সি / প্রোগ্রাম \ ফাইল \ '(x86)' / নোটপ্যাড ++ / নোটপ্যাড ++ এক্সপোর্ট করুন

ওরফে এনপি = "/ সাইগড্রাইভ / সি / প্রোগ্রাম \ ফাইল \ '(x86)' / নোটপ্যাড ++ / নোটপ্যাড ++

x86 এর জন্যও কাজ করে


2

আপনার কমান্ডের শেষে কেবল একটি স্থান এবং একটি এম্পারস্যান্ড (&) যুক্ত করুন এবং নোটপ্যাড ++ খোলা রেখে শেলটি তত্ক্ষণাত ইনপুট মোডে ফিরে আসবে।

সম্পাদনা:

আমি এটিকে আপনার ওরফে যুক্ত করার কথা বলছি না। এটি আপনার আদেশের শেষে এটি যুক্ত করুন:

np whatever &


1
বিস্ময়। এখন পর্যন্ত এটি দেখতে ভাল লাগছে। এটি রাখার কোনও উপায় আছে .bash_profileযাতে আমার সবসময় এটি টাইপ করার প্রয়োজন হয় না?
অ্যান্ড্রু

আমি বাশ বিশেষজ্ঞ নই তবে আমি ধরে নিই যে আপনি আপনার উপনামকে পরিবর্তনশীল করে তুলতে পারেন যা যুক্তি, এবং শেষে এম্পারস্যান্ডও অন্তর্ভুক্ত করে। ব্যাশের সাথে স্মার্ট কেউ সম্ভবত আপনাকে সঠিক বাক্য গঠন দিতে পারে। আমি কেবল আপনার প্রশ্নের উত্তর কীভাবে জানব কারণ আমি উইন্ডোজ দেব পরিবেশে কাজ করার সময় ঠিক একই জিনিসটি ব্যবহার করতাম :)
রবার্ট এস সিয়াসিও

আপনি বাশকে কোনও উপকরণ পরিবর্তন করতে পারবেন না। আপনাকে কোনও ফাংশন বা স্ক্রিপ্ট ব্যবহার করতে হবে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1

উপাধিগুলি বিভক্ত যুক্তি গ্রহণ করে না। পরিবর্তে একটি ফাংশন ব্যবহার করুন।

function np() { /cygdrive/c/Program\ Files/Notepad++/notepad++.exe $1 & }

1
#!/bin/sh
/cygdrive/c/Program\ Files/Notepad++/notepad++.exe $@ &

এই স্ক্রিপ্টটি নোটপ্যাডটি পটভূমিতে ++ শুরু করে, &

হিসাবে ডগ পরামর্শ দেওয়া , একটি ডিফল্ট থাকার $EDITORযে সমস্যার সৃষ্টি করতে পারে ব্লক করে না।


0

এটি সম্পাদন করার জন্য সাইগউইনের একটি নির্দিষ্ট কমান্ড রয়েছে। আপনি রান.এক্সই ডাউনলোড করেছেন তা নিশ্চিত করে নিন এবং এটি আপনার পাথে রয়েছে তা নিশ্চিত করুন (বা আপনার পাঠে এক্সিকিউটেবল রয়েছে)

alias np="run.exe /cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.