কীভাবে ভিএম এবং নিওমিমের মধ্যে কনফিগারেশন ভাগ করবেন


23

আমি neovim ব্যবহার শুরু এবং আমার সরানো .vimrcথেকে .config/nvim/init.vimএবং অন্যান্য উপাদান অবস্থিত .local/share/nvim

ভিএম এবং নেওভিমের মধ্যে কনফিগার বা এমনকি প্লাগইনগুলি ভাগ করার সর্বোত্তম উপায় কী? Symlinks? আমি কি কেবলমাত্র একটি সিমলিংক ব্যবহার করতে .vimrc এর ডিরেক্টরিগুলি পরিবর্তন করতে পারি?

আমার ভিম কনফিগারেশনটি নিওভিমের ডিফল্ট স্থানে স্থানান্তরিত করার পরে, এটি প্রায় কাজ করে বলে মনে হচ্ছে:

ln -s ~/.local/share/nvim/site ~/.vim 
ln -s .config/nvim/init.vim .vimrc

কিছু প্লাগইন ( ভিএম-প্লাগ ব্যবহার করে ) সঠিকভাবে কাজ করছে বলে মনে হয় না। আমি কাস্টম রঙচেমস বা ভিএম-এয়ারলাইন লোড করতে পারি না।


1
আপনি if has('nvim')কেবল এনভিআইএম কমান্ডের জন্য ব্যবহার করতে পারেন
উইজআপ

উত্তর:


37

টিএল; ডিআর

আপনি নিজের বিদ্যমান ~/.vimrcফাইল, ফাইল এবং প্লাগইনগুলিকে ~/.vimফাইলগুলি সিমলিংক না করেই ব্যবহার করতে পারেন ।

এবং এটি এখন নিওভিম ম্যানুয়ালটিতে নথিভুক্ত করা হয়েছে, ভিম থেকে রূপান্তর দেখুন ।


নীচের লাইনগুলি ~/.vimrcআপনার এনভিআইএম সেটআপে বিদ্যমান পাথ এবং ফাইল যুক্ত করবে ।

set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc

লিনাক্স এবং ম্যাকোসের জন্য কেবল উপরের লাইনগুলি আপনার ~/.config/nvim/init.vimবা %LOCALAPPDATA%\nvim\init.vimউইন্ডোজের জন্য যুক্ত করুন।

ক্রেডিট 👉 যায় এই

চিয়ারস 🍻
ক্রিস


8

নিওভিমের ডিফল্ট স্থানে আপনার কনফিগারেশন থাকা, নিম্নলিখিতগুলি করুন:

mkdir -p ~/.local/share/nvim/site
ln -s ~/.local/share/nvim/site ~/.vim 
ln -s .config/nvim/init.vim .vimrc

কালারশিম ঠিক করতে আমাকে 256 টার্মিনাল রঙ মোডে সেট করতে হয়েছিল , অর্থাত্ এটি আপনার .vimrc (= init.vim) ফাইলে যুক্ত করুন, যা এনভিএম দ্বারা উপেক্ষা করা হবে :

set t_Co=256  " Note: Neovim ignores t_Co and other terminal codes.

ভিএম-এয়ারলাইন পেতে আমি .vimrc এ নিম্নলিখিত স্নিপেট যুক্ত করেছি :

set laststatus=2

আমি বেশ বুঝতে না কেন এই শুধুমাত্র তেজ মধ্যে এবং Neovim প্রয়োজনীয়, কিন্তু আমি নই শুধুমাত্র এক এই জিনিস উপর হুমড়ি।


1
এটি সবসময়ই ভিএম-তে প্রয়োজনীয় ছিল। সম্ভবত এনভিম এটিকে ডিফল্ট হিসাবে সেট করে এবং সে কারণেই এটি সেখানে কাজ করছে।
ক্রিশ্চিয়ান ব্র্যাব্যান্ড 18

1
@ ক্রিশ্চিয়ান ব্র্যাব্যান্ডটি হ্যাঁ, অবশ্যই আপনি ঠিক বলেছেন।
লুব্রিক

আমি মনে করি সাধারণত লোকেদের ~/.vimrcহোম ফোল্ডারে অবস্থিত করা হবে , পূর্ববর্তী লাইনের দিকে ইঙ্গিত করে ~/.vim
কনরাড

অন্য উত্তরটি অনুসরণ করা আরও ভাল , যাতে কারও কাছে এনভিআইএম নির্দিষ্ট কনফিগারেশন থাকতে পারে, এরই মধ্যে ~/.vimrcভাগ করে নেওয়া কনফিগারেশন হিসাবে স্যুরস করা যায় ।
ryenus

Neovim উপেক্ষা করে যদিও t_xxবিকল্প, আমি তর্ক করা চাই যে এটা দিয়ে ওই জাতীয় কিছু মোড়ানো আরো সঠিক if !has('nvim')হিসাবে, যেমন এই উদাহরণে । এটি এখন তাদের উপেক্ষা করতে পারে, তবে ভবিষ্যতে যদি তা পরিবর্তন হয় তবে কী হবে? এটি সুস্পষ্টভাবে ইঙ্গিত দেয় যে বিকল্পটি কেবল ভিমের সাথে সম্পর্কিত।
জিরো নাইট

5

আপনি ব্যবহার করতে পারেন if has('nvim')। এখানে সম্পূর্ণ উদাহরণ রয়েছে:

শুধুমাত্র নেওভিমের জন্য কনফিগারেশন:

if has('nvim')
        tnoremap <Esc> <C-\><C-n>
endif

কনফিগারেশন শুধুমাত্র Vim জন্য

if !has('nvim')
    set ttymouse=xterm2
endif

1

এখানকার পদ্ধতিটি সিলেক ~/.config/nvimকরার চেষ্টা করে ~/.vimএবং কনফারেন্সটিকে সামঞ্জস্য করে vim

# nvim conf dir: ~/.config/nvim
# vim conf dir: ~/.vim
# link the 1st as the 2nd with relative links

# Prepare a vimrc file in ~/.config/nvim folder
ln -sf ./init.vim ~/.config/nvim/vimrc

# Link the whole ~/.config/nvim folder as ~/.vim foler
ln -sf ./.config/nvim ~/.vim

এই সেটআপের পরে, ~/.config/nvim/init.vimকনফের মতো ব্যবহার করা আসল ফাইল। ~/.vim/vimrcএটির জন্য কেবল একটি লিঙ্ক।

এখন আমাদের vimপুনরায় ব্যবহারের nvimপ্লাগইন ম্যানেজার, প্লাগইনগুলি পরিবর্তন করে runtimepathএবং তৈরি করা দরকার packpath। প্রকৃতপক্ষে, প্লাগইন পাথগুলি স্বয়ংক্রিয়ভাবে পুনরায় ব্যবহৃত হয়, নিম্নলিখিত ফিক্সটি প্লাগইন ম্যানেজারটিকে পুনরায় ব্যবহার করছে।

let g:is_nvim = has('nvim')
let g:is_vim8 = v:version >= 800 ? 1 : 0

" Reuse nvim's runtimepath and packpath in vim
if !g:is_nvim && g:is_vim8
  set runtimepath-=~/.vim
    \ runtimepath^=~/.local/share/nvim/site runtimepath^=~/.vim 
    \ runtimepath-=~/.vim/after
    \ runtimepath+=~/.local/share/nvim/site/after runtimepath+=~/.vim/after
  let &packpath = &runtimepath
endif

উত্স: ভিএম এবং এনভিম এর মধ্যে শেয়ার বিভ্রান্তি


1

কেবল আইপ্যাচ উত্তরে যুক্ত করতে, যা সঠিক উত্তর, আপনার যদি ভিমের থেকে কিছুটা আলাদা সেটআপ থাকে তবে আপনাকে পথটি খাপ খাইয়ে নিতে হতে পারে।

উদাহরণস্বরূপ, উইন্ডোজে ডিফল্ট কনফিগারেশন ব্যবহারের পরিবর্তে:

$HOME
   +--.vimrc
   +--.vim

আমি ব্যাবহার করছি:

$HOME
   +--vimfiles
          +--vimrc

(কারণগুলি হ'ল ফাইল এবং ডিরেক্টরিগুলির চেয়ে কোনও একক ডিরেক্টরিকে পুনর্বিবেচনা নিয়ন্ত্রণের অধীনে রাখা সহজ, বিশেষত যখন ফাইলটি আপনার হোম ডিরেক্টরিটির মূলের দিকে থাকে)

নিম্নলিখিতটি তখন আমার জন্য কাজ করে:

set runtimepath^=~/vimfiles runtimepath+=~/vimfiles/after
let &packpath=&runtimepath
source ~/vimfiles/vimrc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.