Как остановить Vim от автоматического создания комментариев при нажатии ENTER? - PullRequest
11 голосов
/ 04 февраля 2011

Если я набираю комментарий в gVim следующим образом

// this is a comment

и нажимаю клавишу ВВОД, следующая строка автоматически начинается с //, поэтому это выглядит так:

// this is a comment
//

Но обычно я не хочу писать больше комментариев при использовании этого стиля комментирования.Могу ли я остановить gVim от автоматического выполнения этого, сохраняя автоматическое заполнение стиля комментирования / * .. * /?

Ответы [ 4 ]

28 голосов
/ 04 февраля 2011

Чтобы отключить его при нажатии ENTER в режиме вставки, выполните :set formatoptions-=r

Чтобы отключить его при нажатии o или O в обычном режиме, выполните :set formatoptions-=o

См. :help 'formatoptions' и:help fo-table.

В качестве альтернативы, вы все равно можете нажать CTRL-U в режиме вставки, если хотите удалить символы от начала строки до курсора.

3 голосов
/ 04 февраля 2011

Еще один ответ от моего, поскольку вы не хотите, чтобы это срабатывало для /**/ комментариев.

Использование:

inoremap <expr> <enter> getline('.') =~ '^\s*//' ? '<enter><esc>S' : '<enter>'

Для o и O:

nnoremap <expr> O getline('.') =~ '^\s*//' ? 'O<esc>S' : 'O'
nnoremap <expr> o getline('.') =~ '^\s*//' ? 'o<esc>S' : 'o'
1 голос
/ 30 марта 2015

Чтобы отключить его каждый раз, когда вы используете vim, откройте ваш файл .vimrc и добавьте следующую строку:

autocmd BufNewFile,BufRead * setlocal formatoptions-=r
0 голосов
/ 01 мая 2017

Добавление:

set fo-=ro

в ~/.vimrc было достаточно,

, чтобы отключить R поворот и o / O в нормальном режиме.режим автокомментирования.

fo является сокращением для formatoptions, а -= - для вычитания определенных ключей при сохранении оставшейся части исходного значения.

Значение fo можно показать, используя set fo? в командном режиме (ex).

Введите help fo, чтобы узнать больше о параметрах на внутренних страницах справочника vim.

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