রুট সুবিধাগুলি সহ আমার ব্যবহারকারী হিসাবে ভিম শুরু করুন


10

আমি আমার কাস্টম ভিম ফাইলগুলিতে ~/.vimএবং সেটিংস মধ্যে আছে ~/.vimrc। তবে মাঝে মাঝে আমাকে কিছু ফাইল এডিট করতে হয় /etc
আমি যদি এইভাবে ভিম শুরু করি:

$ sudo vim /etc/rc.conf

আমি আমার কনফিগারেশনটি হারিয়েছি যেহেতু ভিম তার ডিফল্টটি ব্যবহার করে। সুতরাং: আমি কীভাবে আমার ব্যবহারকারীর সেটিংস (যা আমার হোম ডিরেক্টরিতে রয়েছে) না হারিয়ে ফাইল সম্পাদনা করার জন্য রুট সুবিধাগুলি সহ আমি ভিম চালাতে পারি?
আমি চেষ্টা করেছি:

$ su username -c "vim /usr/lib/python2.7/setuptools/dist.py"

কিন্তু বাশ আমাকে দেয় Permission denied। যাইহোক, উপরোক্ত কমান্ডের জন্য উদাহরণস্বরূপ কাজ করে: /etc/acpi/handler.sh। কেন এমন?

দ্রষ্টব্য: ব্যবহারকারীর নামটি মূল নয়।

উত্তর:


15

পরিবর্তে sudo vim /etc/rc.confব্যবহার sudoedit /etc/rc.confবা sudo -e /etc/rc.conf। আপনাকে EDITOR এনভায়রনমেন্ট ভেরিয়েবলটি ভিমে সেট করতে হবে। এটি আপনার সাধারণ কনফিগারেশনটি ব্যবহার করে, ফাইলটি অনুলিপি ব্যবহার করে সাধারণ ব্যবহারকারী হিসাবে নিজেকে চালিত করবে যা আপনি প্রস্থান করার সময় এটি অনুলিপি করবে।


চমৎকার সমাধান! আমি এটিও পরীক্ষা করে দেখব।
রুবিক

আমি চেষ্টা sudoedit /etc/rc.confএবং sudo -e /etc/rc.confএবং এটি তেজ প্রর্দশিত, কিন্তু আমার ~ / .vimrc লোড না হয়ে যায়। আমি কী ভুল করছি?
'45 এ সংযোজন

@ অ্যাপারাট export EDITOR=vimপ্রথমে চেষ্টা করুন - এটি চালানোর চেষ্টা করা হতে পারে vi, যা আমি জানি না এটি ভিআইএমআরসি থাকা সত্ত্বেও এটি ভিএমআরসি লোড করে কিনা I
র্যান্ডম 832

ঠিক আছে, আমি মনে করি এটিই সেরা উত্তর। দুজন কেই ধন্যবাদ.
রুবিক

@ র্যান্ডম 832 export EDITOR=vimকাজ করেছে। আমি ভেবেছিলাম আমার সিস্টেমে vi ইনস্টল করা হয়নি এবং এটি কেবলমাত্র ভিএম-এর জন্য একটি সিমলিংক। ধন্যবাদ
apparat

6

আপনি -uকোন rc ফাইলটি লোড করতে হবে তা জানাতে পারেন । যেমন

sudo vim -u ~user/.vimrc /etc/rc.conf

যদি টাইপ করে থাকেন যে যতবার এটি করা দরকার ততটাই ক্লান্তিকর, একটি উপাধি তৈরি করুন:

alias sudovim='sudo vim -u ~user/.vimrc'

নোট করুন যে vim -uপ্লাগিনগুলি বা ডাকা আরসি ফাইলগুলি ব্যর্থ হতে পারে যদি তারা files হোম - to এর সাথে সম্পর্কিত অন্য ফাইলগুলি লোড করে তবে হোম এখন রুটের বাড়ির দির, ব্যবহারকারীর নয়। এটি রুটের বাড়ির দিরগুলিতে উদাহরণস্বরূপ বা হার্ড-কোডিং পরম পাথ দ্বারা সমাধান করা যেতে পারে।


এটা দুর্দান্ত, আপনাকে ধন্যবাদ। আমি এর মতো সমাধান করেছি : alias svim="HOME=/home/user && sudo vim -u $HOME/.vimrc".
রুবিক

1

sudo vim -S /home/user/.vimrc /etc/rc.conf

এটি সমান:

sudo vim /etc/rc.conf + + :source /home/user/.vimrc

এবং পাশাপাশি aliised করা যেতে পারে:

alias svim='sudo vim -S /home/user/.vimrc'

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