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

StackOverflow https://stackoverflow.com/questions/234564

سؤال

وكيف أقوم بإجراء السادس - <وأ href = "HTTP: //en.wikipedia كافيه / ويكي / Vim_٪ 28text_editor٪ 29 "يختلط =" noreferrer "> فيم أبدا استخدام علامات التبويب (تحويل المسافات لعلامات التبويب، سيئة!)، يجعل علامة التبويب الرئيسي == 4 مسافات، ورمز المسافة البادئة تلقائيا بعد مجعد كتل هدفين مثل إيماكس يفعل؟

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

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

هل كانت مفيدة؟

المحلول

وكما أشير إلى ذلك في بضع إجابات أدناه، الأسلوب المفضل الآن هو NOT استخدام smartindent، ولكن بدلا من استخدام ما يلي (في الخاص بك <لأ href = "https://stackoverflow.com/questions/10921441/ حيث هو بين بلدي vimrc ملف "> 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

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

:help smartindent

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

:help auto-setting

لمعرفة الإعدادات الحالية:

:set all

graywh يشير في التعليقات، تم استبدال smartindent التي كتبها cindent الذي "يعمل أكثر بذكاء"، وإن كانت لا تزال أساسا للغات مع تركيب C مثل:

:help C-indenting

<الإضراب>

نصائح أخرى

وذات صلة، إذا قمت بفتح ملف يستخدم كلا علامات الجدولة والمسافات، على افتراض كنت قد حصلت على

set expandtab ts=4 sw=4 ai

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

:%retab

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

لديك علامات التبويب 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.

في العديد من أنظمة لينكس، مثل أوبونتو، عدم وجود ملف .vimrc افتراضيا، لذلك فمن المستحسن أن تقوم بإنشاء لأول مرة.

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

الخطوة 1: اذهب إلى الدليل الرئيسي

وcd ~

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

وvim .vimrc

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

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

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

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

وإضافة ما يلي إلى .vimrc بك

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

ونأمل أن يساعد على أنها إجابة مختلفة.

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

$ vim ~/.vimrc

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

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab

VIM يكي :

:set tabstop=4
:set shiftwidth=4
:set expandtab

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top