Проблема с отступом редактора Vim, когда первый символ строки является резким символом #
Это убежище было прослушивать меня с первого дня, используя Vim в течение 3 лет. Всякий раз, когда я пытаюсь отложить строку с помощью Shift + >, когда ПЕРВЫЙ ХАРАКТЕР линии начинается с "#", она не работает вообще, независимо от типов файлов (.php,.txt и т.д.)..). Потому что # используется для комментариев в PHP, и я также использую его для оформления текстовых файлов, например:
# This is a comment
### 1. Instruction one
# ------------ this is an sample --------------
Я использую Vim 7.2 в Ubuntu со следующими настройками .vimrc
syntax on
set t_Co=256
set incsearch
set hlsearch
set number
set nowrap
set nowrapscan
set ignorecase
set et
set sw=4
set smarttab
set smartindent
set autoindent
set textwidth=0
set noequalalways
set formatoptions=1
set lbr
set vb
set foldmethod=marker
Спасибо!
Ответы
Ответ 1
Вставьте следующее в .vimrc
:
set nosmartindent
Это smartindent
, что приводит к тому, что строки, начинающиеся с #
, не будут отступаться по вашему желанию. Вы можете узнать больше об этом, набрав :help smartindent
. Если вы используете файл отступов для скриптов python (или любой другой синтаксис), включите также следующее.
filetype indent on
Ответ 2
Вы можете использовать:
inoremap # X^H#
Я думаю, что это поведение не совсем ошибочно для C/С++, поэтому я просто изменяю его в python/php.
autocmd FileType python,php inoremap # X^H#
:help smartindent
говорит:
При вводе #
в качестве первого символа в новой строке отступ для
эта строка удаляется, в первую колонку помещается #
. Отступ
восстанавливается для следующей строки.
Если вы этого не хотите, используйте это сопоставление: :inoremap # X^H#
, где ^H
вводится с CTRL-V CTRL-H
.
При использовании команды >>
строки, начинающиеся с #
, не сдвигаются вправо.