Как отключить авто комментарии в редакторе сценариев оболочки vi? - PullRequest
24 голосов
/ 04 октября 2011

Я использую vi (m) для редактирования сценария оболочки, и когда я вставляю комментарий и набираю текст, новая строка уже содержит комментарий.Как я могу отключить это?

Пример:# Когда я печатаю ввод, символьный комментарий # вставляется ниже автоматически.#

Ответы [ 4 ]

37 голосов
/ 01 ноября 2012

Я нашел тот же ответ, попробуйте

:set paste

это может помочь

8 голосов
/ 04 октября 2011

Я нашел несколько ссылок, решающих вашу проблему:

  • http://www.linuxquestions.org/questions/linux-general-1/vim-auto-comment-696916/

    Возможно, вы ищете эту команду

    :set paste

    Или вы можете добавить эту строку в ваш ~ / .vimrc (что позволит вам переключаться между вставкой и вставкой с помощью Ctrl + P)

    nm <C-P> :se invpaste paste?<CR>

  • http://ubuntuforums.org/showthread.php?t=833353

    , чтобы решить проблему с вставкой некоторого текста / кода в vim с комментариями, которые вы можете просто добавить в свой файл .vimrc этой строкой:

    set pastetoggle=

    , который будет set paste при вставке и set nopaste, когда это будет сделано.

  • http://vim.wikia.com/wiki/Disable_automatic_comment_insertion

    Чтобы отключить его только один раз для текущего сеанса:

    :set formatoptions-=cro

    Чтобы отключить все файлы и сеансы, используйте:

    autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o

    Это устанавливает автоматическую команду, которая запускается после любого плагина, специфичного для типа файла;команда удаляет три флага из опции 'formatoptions', которые управляют автоматической вставкой комментариев.При этом в вашем vimrc символ комментария не будет автоматически вставляться в следующую строку ни при каких условиях.

    Используйте эту команду для проверки параметров формата:

    :set formatoptions?

Надеюсь, это полезно, дайте мне знать, если вы все поняли.Bye

0 голосов
/ 20 октября 2017

В стеке vi обмениваются документами еще один отличный вариант:

https://vi.stackexchange.com/a/1985/12256

Вы можете добавить что-то подобное ниже к вашему .vimrc файлу, чтобы сценарии оболочки не вставляли автоматически заголовок комментария.

au FileType sh setlocal fo-=c fo-=r fo-=o

Документация vim сообщит вам, что означает каждый из параметров (c, r, o).

http://vimdoc.sourceforge.net/htmldoc/change.html#fo-table

0 голосов
/ 03 декабря 2016

Эта функция полезна, как насчет простого нажатия Ctrl-u в режиме вставки? он будет удалять все до начала строки. При этом вы не потеряете авто комментарии.

Подробнее здесь и здесь :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...