Яка різниця між set і: set?


17

Я дивився на вим-чутливий плагін Тіма Попа і помітив це у ПРОЧИТАННІ ...

Перегляньте джерело для авторитетного списку функцій. (Не хвилюйтесь, це в основному :setдзвінки.)

Коли я подивився на джерело, :setдзвінки виглядають так ...

set autoindent

Там немає :до set.

Я впевнений, що насправді я бачив і :setв прикладі .vimrcs.

Яка різниця?

Яку форму я повинен використовувати у своїй .vimrc?

Відповіді:


22

"Сценарій" не більше, ніж виконує послідовність колишніх команд. "Ex команда" - це те, що ви вводите під час використання :у Vim. Так , наприклад :wq, :set wrap, :e fileі т.д., все команди екс.

Команда :не є частиною команди; це лише натискання клавіші для запуску режиму командного рядка; вам не завжди потрібно включати :, наприклад, коли ланцюг кількох команд |не потрібно повторювати :більше одного разу. Наприклад, :write | quitбуде добре працювати.

Для зручності :можуть бути включені. Це допомагає копіювати / вставляти тощо, але цього не потрібно. Це не має значення. Насправді всі провідні :s просто ігноруються. :write, writeі :::::::::writeвсі вони рівноцінні за функціональністю (хоча, очевидно, не з точки зору розумності).

Часто корисно включати :в документацію, щоб уточнити, що це колишня команда. Наприклад, wможна звернутися до команди :wабо звичайного режиму, wщоб перейти до наступного слова.

Зауважте, що це стосується всього . Структури управління, такі як ifі endifє також лише колишніми командами; Ви можете ввести щось подібне:

:if 1
:echo 'one'
:endif

з командного рядка Vim просто чудово; не потрібно "сценарію". Сценарії Vim дуже "не магічні" та "неспеціальні"; все, що ви можете зробити з командного рядка ex, який ви можете зробити в сценарії Vim, і навпаки.


6

Різниці немає. Якщо vim бачить a :перед командою у вашому vimrc (або будь-якому файлі vimscript), він ігнорує його. Також, як було сказано вище, це не характерно для setкоманди.

Зазвичай це :означає, що команда буде виконуватися вами замість того, щоб міститись у вашому vimrc (або іншому файлі vimscript) , але це зазвичай залежить від контексту. Особисто я думаю, що набагато краще не ставити двокрапку перед командами у файли vimscript, і це, здається, те, що робить і більшість інших людей.

Більше про це див :help script.


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