Переформатування файлів vim


2

ВІДПОВІДНИЙ, див. Мою відповідь. Тим не менш, я вважаю, що це питання все ще є хорошим навчальним досвідом для інших новачків, як я

Тому я працюю над цим проектом, але працюю над ним як вдома, так і на роботі.

Проект написаний в python.

Проблема, в якій я працюю, полягає в тому, що на роботі я використовую notepad ++ на вікнах.

Мої налаштування вкладки для notepad ++ такі:

  • tab = 4 колонки, але
    • НЕ розгортайте вкладку фактично = 4 пробілами

Потім я надсилаю файли до себе електронною поштою та завантажую їх вдома. Коли я відкриваю файли в vim на моєму Linux-полі, там же знаходиться таке ж число вкладок, але всі вкладки займають 8 стовпців, насправді не замінені пробілами.

Я не знаю, чому це відбувається, але чи є якась команда, яку я можу використовувати для переформатування файлів відповідно до моїх .vimrc?

gg=G вид робіт, але не цілком виконує цю роботу

Мої налаштування такі:

"se t_Co=256   
syntax enable

set mouse=a  
set tabstop=4  
set softtabstop=4  
set shiftwidth=4   
"set expandtab     
set number   
set showcmd   
set cursorline     
set showmatch    

execute pathogen#infect()    
filetype plugin indent on

"folding settings  
set foldmethod=indent         
set foldnestmax=10           
set nofoldenable              
set foldlevel=1               

EDIT: все, що він робить під капотом, щоб спробувати перетворити його, здається, що його не роблять це рекурсивно або щось. Його важко пояснити, так що дозвольте мені дати кілька знімків екрану.

Ось частина файлу, яку я щойно відкрив у vim, без редагування: enter image description here

Ви можете побачити, як вкладки складаються з 8 стовпців, але вони повинні бути 4

Тепер наберіть gg = G, щоб "виправити" відступи. enter image description here Для першого методу / першого викладу в цьому методі він працював за призначенням. Але всі заяви після того, як вони залишилися в спокої

Це також тільки перший метод, який отримує виправлення, але для всіх інших операторів compund (для циклів, спроб блоків і т.д.), цей шаблон першого рядка буде виправлено, але нічого іншого не буде виправлено. повторюються. (або рекурсивні)


Ваш .vimrc отримує джерело? Іншими словами, налаштування вкладки працюють так, як очікується для документів, створених у вікні linux? І це незручність у вас set expandtab, коли у Notepad ++ вимкнено еквівалент. . .
ernie

так, він працює нормально. і я фактично просто поставив вкладку розширення сьогодні, коли я грався з матеріалом
Luke

Спробуйте :set list і :set listchars=tab:t\ " щоб побачити вкладки під час пошуку проблеми.
Brady Trainor

Відповіді:


1

Щоб додати вкладки до 4 стовпців у vim, використовуйте:

set shiftwidth=4 tabstop=4

Якщо, зокрема, ви бажаєте лише ці параметри вкладки під час редагування файлів python, то в ~ / .vimrc поставте наступне:

autocmd BufNewFile,BufRead *.py set tabstop=4 shiftwidth=4

це вже мої vimrc налаштування
Luke

2
З файлом python, відкритим у vim, введіть :set. Тут відображаються поточні налаштування. Що він показує для expandtab, tabstop і shiftwidth?
John1024

0

Я зрозумів це, як деякі з вас запропонували, це не було захоплення правильного джерела, я підозрюю, що це тому, що це файл DOS. виправлено шляхом введення:

:source ~/.vimrc 

у командному рядку ed

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.