Мне было интересно, было ли в Vim какое-либо отображение клавиш, позволяющее мне делать отступы для определенных строк кода (были ли эти строки выделены в визуальном режиме или n строк выше / ниже текущей позиции курсора).
Так что в основном то, что преобразует следующее
def my_fun(x, y):
return x + y
в
#def my_fun(x, y):
# return x + y
Я в порядке с использованием #
или """
для комментирования соответствующих строк. В идеале мне бы хотелось, чтобы такое же сопоставление клавиш раскомментировало строки, если данные строки были закомментированы.
Ответы:
Шаг 1: Перейдите к первому столбцу первой строки, которую вы хотите прокомментировать.
Шаг 2: Нажмите: Ctrl+ vи выберите строки, которые вы хотите прокомментировать:
Шаг 3: Shift -
I
#space(Войдите в режим вставки слева, введите символы для вставки. Выбор исчезнет, но все строки в нем будут изменены после шага 4.)Шаг 4: Esc
источник
Shift-I # <ESC>
не работал (возможно, я делаю это неправильно).в одну сторону вручную
источник
:10,12s/^#//
Вы можете добавить следующее отображение в ваш .vimrc
Выделите свой блок с помощью:
#
комментировать ваши строки из первого столбца.-#
раскомментировать так же.источник
Выделите свой блок с помощью: ShiftV
Прокомментируйте выделенный блок с помощью:
:norm i#
(нижний регистр i)Чтобы раскомментировать, снова выделите ваш блок и раскомментируйте с помощью:
:norm ^x
Команда
:norm
выполняет действие для каждой выбранной строки. Комментирование будет вставлять#
в начале каждой строки, а комментирование удалит это#
.источник
Shift+v
) и последующее использование:norm i#
изменяет только первую выбранную строку. Это работает для меня, чтобы прокомментировать строки с 389 по 391::389,391norm i #
Я обычно убираю визуальный блок (
<C-V>
), затем ищу и заменяю первый символ:(При входе в командный режим с выбранным визуальным блоком автоматически помещается «<,»> в командной строке). Затем я могу раскомментировать блок, сместив тот же визуальный блок и:
источник
Есть несколько хороших плагинов, которые помогают комментировать / раскомментировать строки. Например, NERD Commenter .
источник
У меня есть следующие строки в моем
.vimrc
:Ярлыки сохраняют вашу позицию курсора и ваши комментарии до тех пор, пока они начинаются
#
(с пробелом после #). Например:После комментирования:
После uncomennding:
источник
s/^/#/
регулярное выражение. Я предпочитаю, чтобы символ комментария появлялся в начале строки ... но гораздо важнее то, что «комментирование комментариев» действительно очень важно. Я бы также отбросилau BufEnter *.py
, поскольку#
комментарии достаточно общие, чтобы по умолчанию команды использовались во всех буферах.Честно говоря, я использую плагин tcomment для этой ссылки . Он может обрабатывать практически любой синтаксис. Он определяет хорошие движения, используя его с некоторыми сопоставителями текстовых блоков, специфичными для python, делает его мощным инструментом.
источник
NERDcommenter - отличный плагин для комментирования, который автоматически определяет количество типов файлов и связанных с ними символов комментариев. Смешно легко установить с помощью патогенов .
Комментарий с
<leader>cc
. Раскомментировать с<leader>cu
. И переключать комментарии с<leader>c<space>
.(
<leader>
Ключ по умолчанию в vim - это\
)источник
Для vim существует множество плагинов для комментариев, многие из которых являются мультиязычными, а не только python. Если вы используете менеджер плагинов, например Vundle, вы можете искать их (после того, как вы установили Vundle), используя, например:
И вы получите окно результатов. В качестве альтернативы вы можете просто искать vim-скрипты для плагинов комментариев .
источник
Никаких плагинов или сопоставлений не требуется. Попробуйте встроенную команду «норма», которая буквально выполняет все, что вы хотите в каждой выбранной строке.
Добавить # Комментарии
Удалить # Комментарии
Или, если ваши комментарии с отступом, вы можете сделать
:norm ^x
Обратите внимание, что это просто обычные команды vim, перед которыми стоит «: norm» для выполнения их в каждой строке.
Более подробный ответ по использованию команды «норма» в одном из ответов здесь
Какой быстрый способ комментировать / раскомментировать строки в Vim?
источник
Очень минимальный легкий плагин : vim-commentary.
gccкомментировать строки,
gcgcчтобы раскомментировать. проверьте страницу плагина для получения дополнительной информации.
v+k/jзатем выделите блок, gccчтобы прокомментировать этот блок.
источник
CtrlK для комментария (Визуальный режим):
CtrlU для раскомментирования (визуальный режим):
источник