দুটি ভিন্ন ভিএম কনফিগারেশনের মধ্যে টগল করবেন?


9

আমি একটি .vimrc এবং .vim ফোল্ডার পেয়েছি আমি কিছুক্ষণের জন্য টুইট করছি, কিন্তু আমার মেশিনে একটি নতুন কাজের জন্য, আমি সবেমাত্র রায়ানব এর ডটফিলস ইনস্টল করেছি (এতে ভিআইএম , গিট এবং আরও অনেক কিছুর জন্য কনফিগার ফাইল রয়েছে)। প্রতিটি কনফিগারে আমার পছন্দের জিনিস রয়েছে তাই শেষ পর্যন্ত আমি এগুলিকে একটি নতুন ব্যক্তিগত কনফিগারেশনে সংযুক্ত করতে চাই। ইতিমধ্যে, আমি পিছনে পিছনে স্যুইচ করতে সক্ষম হতে চাই।

ভিএম-এ এর জন্য কি একটি সহজ কমান্ড রয়েছে - "নিম্নলিখিতটি .vimrc এবং .vim ডিরেক্টরিটি ব্যবহার করুন" - বা আমি স্যুইচ করতে চাইলে ফাইলগুলি স্বয়ংক্রিয়ভাবে বদলে নেওয়া কি আরও সোজা হবে?

উত্তর:


7

-uবিকল্পটি একটি কনফিগারেশন ছাড়া অন্য ফাইল উল্লেখ করার অনুমতি দেবে ~ / .vimrc, কিন্তু ~ / .vim নির্দেশিকাতে একটি বিকল্প নির্দিষ্ট করার কোনো বিকল্প নেই। তবে, আপনার প্রতিটি কনফিগারেশন ফাইলের 'রানটাইমপথ' ('আরটিপি') বিকল্পটি সংশোধন করে আপনি ভিমকে আলাদা ডিরেক্টরি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি এই আদেশটি ব্যবহার করতে পারেন

let &rtp = substitute(&rtp, '\.vim\>', '.vim1', 'g')

আপনার কনফিগারেশন ফাইলের মধ্যে একটিতে Vim কে ~ / .vim ডিরেক্টরি পরিবর্তে ~ / .vim1 ডিরেক্টরি ব্যবহার করতে বলুন।


আমি অনুমান করছি আমি ড্রপবক্সে সবকিছু রাখার জন্য এটি ব্যবহার করতে পারি :)
মাইকেল কারন

1
@Michael Caron আপনি - আপনি আপনার রাখতে পারবেন না .vimrcএবং .vimযে কোন জায়গায় আপনি চান, আপনি যেখানেই থাকুন না তাদের করা আপনার হোম ফোল্ডারে symlinks আছে যতদিন। ব্যক্তিগতভাবে, আমি আমার কৌশলটি .dotfilesফোল্ডারে রাখার জন্য এই কৌশলটি ব্যবহার করি , যা আমি গিথুবের সাথে সিঙ্ক করতে পারি।
নাথান লং

3

-u ভিএমকে একটি বিকল্প ভিএমআরসি ফাইল ব্যবহার করতে বলে।


আমি সম্প্রতি শিখেছি যে vim -u "NONE"কোনও কনফিগারেশন ছাড়াই ভ্যানিলা ভিম খোলে। আপনি যদি একটি জটিল কনফিগারেশন পেয়ে থাকেন এবং কিছু আচরণ ভিমের দেশীয় কিনা তা জানতে চাইলে এটি কার্যকর হতে পারে। (এটি ম্যাকভিমের পক্ষেও কাজ করে - আমি লিনাক্সে জিভিমের চেষ্টা করিনি))
নাথান লং

1

ডিরেক্টরি সিমিলিংক প্রতিস্থাপন করে কনফিগার টগল করুন

আমি নিম্নলিখিত সেটআপ আছে:

❯ tree -L  2 ~/.vim-configs
~/.vim-configs
├── nathanl
│   ├── .git
│   ├── gvimrc
│   ├── pack
│   └── vimrc
├── ryanb
│   ├── autoload
│   ├── ...
│   └── vimrc
└── minimal
    ├── autoload
    ├── cache
    ├── doc
    ├── plugin
    └── vimrc

❯ ls -l ~/.vim
lrwxr-xr-x  1 hotschke  staff  42 Apr  3 16:35 .vim -> /Users/hotschke/.vim-configs/minimal

আপনি যদি অন্য কোনও কনফিগারেশনে পরিবর্তন করতে চান তবে আপনাকে কেবল সম্পাদন করতে হবে

❯ ln -snf ~/.vim-configs/configX ~/.vim

Alচ্ছিক: কনফিগার স্যুইচ করার জন্য ট্যাব সহ শেল ফাংশন সম্পূর্ণ

আপনি যদি উচ্চাভিলাষী হন তবে আপনি এই অতি-সুবিধাজনক করতে স্বতঃপূরণ সহ একটি ন্যূনতম শেল ফাংশন লিখতে পারেন। উদাহরণস্বরূপ আপনি যদি zsh ব্যবহার করেন তবে আপনি ব্যবহার করতে পারেন

# Swim - Switch Vim Configs
compdef '_path_files -/ -W ~/.vim-configs' swim
function swim {
  if [ $# -eq 0 ]
  then
    zmodload zsh/stat
    active=$(stat +link "$HOME/.vim")
    echo "Swimming with ${${active}:t}"
    echo "$HOME/.vim -> $active"
    zmodload -u zsh/stat
  else
    echo "Swimming with $1"
    ln -snfv ~/.vim-configs/$1 ~/.vim
  fi
}

এটি ইতিমধ্যে ট্যাব সমাপ্তি সরবরাহ করে এবং আপনার ফাইল সিস্টেমের সর্বত্র কাজ করে:

❯ pwd
<somewhere in your filesystem not necessarily $HOME or $HOME/.vim>
❯ swim <Tab>
-- directory --
minimal/  nathanl/  ryanb/
❯ swim minimal
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal
❯ swim
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal

( https://github.com/dawsbot/swim থেকে ফাংশনটির নাম চুরি হয়েছে )


ভাল সমাধান, আমি প্রতিটি কনফিগারেশনের মতো একটি উপাধি যুক্ত করার পরামর্শ দিচ্ছি alias vimbasic="ln -snf ~/.vim-configs/basic/ ~/.vim && vim", যাতে আপনি নিজের কনফিগারেশনটি কেবলমাত্র উপন্যাসের মতো টাইপ করতে পারেন vimbasic
টন

1

ভিম প্লাগইন ম্যানেজার ভোল্ট

https://github.com/vim-volt/volt

ম্যাকোসে ইনস্টলেশন: $ brew install volt

"প্রোফাইল" বৈশিষ্ট্যটি প্লাগইন, ভিএমআরসি এবং জিভিআইআরসিআরকে সেট করে।

আপনি একটি কমান্ড দিয়ে সংমিশ্রণ পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, আপনি একটি ওয়েব ডেভলপমেন্ট সেটআপ থেকে প্রয়োজনীয় প্লাগইন + vimrc, বা ভ্যানিলা ভিমে স্যুইচ করতে পারেন।

এটি স্ট্যাকেক্সচেঞ্জ নেটওয়ার্কের প্রশ্ন বা ভিথ / ভিআইএম প্লাগইনগুলির জন্য গিথুব সম্পর্কিত সমস্যাগুলি উত্থাপন করার সময় ন্যূনতম কনফিগারেশন তৈরি করতে সহায়ক।

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