Вы можете использовать с ?\w
enterпоследующимA
?\w
ищет назад первое словоA
переводит вас в режим вставки в последней строке, содержащей контент
При работе с текстовыми файлами, когда я снова открываю их в Vim для добавления контента, я хочу перейти к концу последней строки контента и перейти в режим вставки. В идеальных условиях, простое GA
после открытия файла позаботится об этом. К сожалению, у меня есть привычка добавлять несколько новых строк в конце файла, и избавиться от них сложно.
Учитывая это, как проще всего сказать в Vim: «перейти к последней строке файла, в которой есть содержимое, перейти к концу этой строки и перейти в режим вставки»? Я думаю, суть моего вопроса в том, как я могу выразить концепцию «последней строки, в которой есть содержание» Vim?
Вы можете использовать с ?\w
enterпоследующимA
?\w
ищет назад первое словоA
переводит вас в режим вставки в последней строке, содержащей контентЕсли вы хотите всегда переходить к последней непробельной строке файла или файла определенного типа, вы можете вставить autocmd в свой файл ~/.vimrc
. Например:
:autocmd BufRead *.txt :$;?\S?
Это автоматически переходит в конец файла и выполняет поиск непробельного символа в любом файле, соответствующем шаблону glob *.txt
. Затем вы набираете, o
например, чтобы добавить вещи.
Тот же метод можно использовать для удаления пустых строк, которые вы оставляете в конце буферов, когда записываете их обратно в файл, что позволяет избежать проблемы в первую очередь. Например:
:autocmd FileType python autocmd BufWritePre <buffer> :%s/\(\n\s*\)\+\%$//e
Этот пример делает это только для файлов, распознаваемых как тип файла python (например, суффикс .py).
Я никогда не работал в Vim, но я предложу немного логики: