it-swarm.asia

مفتاح الجدولة == 4 مسافات والمسافات البادئة التلقائية بعد الأقواس المتعرجة في Vim

كيف يمكنني إنشاء vi - Vim عدم استخدام علامات التبويب (تحويل المساحات إلى علامات تبويب ، سيئة!) ، وجعل مفتاح علامة التبويب == 4 مسافات ، والمسافة البادئة للرمز التلقائي بعد كتل قوسية مجعدة مثل Emacs هل؟

أيضا ، كيف يمكنني حفظ هذه الإعدادات حتى لا تضطر إلى إدخالها مرة أخرى؟

لقد رأيت أسئلة أخرى متعلقة بهذا ، لكن يبدو دائمًا أنها بعيدة بعض الشيء عما أريد.

1170
mmcdole

كما تمت الإشارة في بضع إجابات أدناه ، فإن الطريقة المفضلة الآن هي عدم استخدام smartindent ، ولكن بدلاً من ذلك استخدم ما يلي (في .vimrc ):

filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab

في ملفك .vimrc: ملف:

set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

تستغرق ملفات المساعدة بعض الوقت لتعتاد عليها ، ولكن كلما قرأت ، كلما زاد Vim:

:help smartindent

والأفضل من ذلك ، يمكنك تضمين هذه الإعدادات في المصدر للحصول على إمكانية النقل:

:help auto-setting

لمشاهدة إعداداتك الحالية:

:set all

كما graywh يشير في التعليقات ، تم استبدال smartindent بواسطة cindent الذي "يعمل بشكل أكثر ذكاء" ، على الرغم من أنه لا يزال يستخدم بشكل أساسي للغات ذات بناء جملة C- like:

:help C-indenting
1732
Ken

مرتبط ، إذا فتحت ملفًا يستخدم كلاً من علامات التبويب والمسافات ، على افتراض أنك حصلت عليه

set expandtab ts=4 sw=4 ai

يمكنك استبدال جميع علامات التبويب بمسافات في الملف بأكمله بـ

:%retab
217
netjeff

أفضل طريقة للحصول على المسافة البادئة الخاصة بنوع الملف هي استخدام filetype plugin indent on في vimrc الخاص بك. بعد ذلك ، يمكنك تحديد أشياء مثل set sw=4 sts=4 et في .vim/ftplugin/c.vim ، على سبيل المثال ، دون الحاجة إلى جعلها عمومية لجميع الملفات التي يتم تحريرها وسيتم بناء الجملة الأخرى غير الخاصة بالنوع C بطريقة صحيحة ، أيضًا (حتى اللمسات) .

86
graywh

للحصول على علامات تبويب ذات مساحة 4 في معظم الملفات ، قم بوضع علامة تبويب ذات عرض عريض بـ 8 أحرف في Makefiles ، ووضع مسافة بادئة تلقائية في العديد من الملفات بما في ذلك C/C++ ، ضع هذا في ملف ~/.vimrc الخاص بك:

" Only do this part when compiled with support for autocommands.
if has("autocmd")
    " Use filetype detection and file-based automatic indenting.
    filetype plugin indent on

    " Use actual tab chars in Makefiles.
    autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
endif

" For everything else, use a tab width of 4 space chars.
set tabstop=4       " The width of a TAB is set to 4.
                    " Still it is a \t. It is just that
                    " Vim will interpret it to be having
                    " a width of 4.
set shiftwidth=4    " Indents will have a width of 4.
set softtabstop=4   " Sets the number of columns for a TAB.
set expandtab       " Expand TABs to spaces.
50
Shervin Emami

في العديد من أنظمة Linux ، مثل Ubuntu ، لا يوجد ملف .vimrc افتراضيًا ، لذلك يوصى بإنشائه أولاً.

لا تستخدم ملف .viminfo الموجود في الدليل الرئيسي. يتم استخدامه لغرض مختلف.

الخطوة 1: انتقل إلى الدليل الرئيسي الخاص بك

cd ~

الخطوة 2: إنشاء الملف

vim .vimrc

الخطوة 3: إضافة التكوين المذكور أعلاه

filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab

الخطوة 3: حفظ الملف ، عن طريق الضغط Shift + ZZ.

49
Erick

الطريقة الموصى بها هي استخدام المسافة البادئة المستندة إلى filetype واستخدام فقط smartindent و cindent إذا لم يكن ذلك كافيًا.

أضف ما يلي إلى .vimrc الخاص بك

set expandtab
set shiftwidth=2
set softtabstop=2
filetype plugin indent on

آمل أن يساعد كإجابة مختلفة.

28
Chaudhry Junaid

تحرير الخاص بك ~/.vimrc

$ vim ~/.vimrc

أضف الأسطر التالية:

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
11
Yusuf Ibrahim

من VIM wiki :

:set tabstop=4
:set shiftwidth=4
:set expandtab
9
User

تعتمد المسافة البادئة التلقائية على وضع بناء الجملة الحالي. أعلم أنك إذا كنت تقوم بتحرير Foo.Java ، فأدخل { وضربه Enter المسافة البادئة السطر التالي.

بالنسبة إلى علامات التبويب ، هناك إعدادان. داخل Vim ، اكتب نقطتين ثم "تعيين tabstop = 4" الذي سيضع علامات التبويب لعرضها كأربعة مسافات. اضغط على النقطتين مرة أخرى واكتب "set expandtab" الذي سيضيف مسافات لعلامات التبويب.

يمكنك وضع هذه الإعدادات في ملف .vimrc (أو _vimrc على نظام التشغيل Windows) في دليلك الرئيسي ، لذلك عليك فقط كتابتها مرة واحدة.

6
Joey Gibson