LINUX.ORG.RU

История изменений

Исправление StillSteal, (текущая версия) :

Ну будет сложно тогда с вимом. Потому что в его помощи много полезной информации.

Если коротко, если :set formatoptions?(локальная для баффера опция) выдает ключ t как один из множества ключей в нем (если не выдает, то надо добавить для данного типа файла этот ключ set formatoptions+=t), то глобальная опция textwidth должна работать для любого нового вводимого текста (но не для уже имеющегося в файле, об этом позже), как только количество символов в строке превышает ту, что в textwidth автоматически переносится текст деля текст на первом не WORD символе (пробеле, табе и т.д.). Чтобы уже введенный текст отформатировать, надо использовать форматер для данного типа файла, все что тебе сейчас надо знать - это то что команда в normal mode gggqG отформатирует весь файл. Но вообще лучше этим не пользоваться, ибо для многих языков программирования есть и линтеры и форматеры и лучше пользоваться ими.

augroup Retab

autocmd FilyType * au BufNewFile,BufRead .markdown,.mdown,.mkd,.mkdn,.mdwn,.md set ft=markdown

augroup END

augroup ИмяАугрупа - имя аугрупа должно быть уникально, поэтому двух augroup Retab у тебя не должно быть, а так да. А эта команда присваивает всем создаваемым или открываемым файлам с расширениями, которые перечислены тип файла markdown. По-моему все нужные расширения и так перечислены в сборке вима. Ну уверен что кто-то пользуется такими как .mdwn .mdown и так далее. Ну пожешь оставить конечно.

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

Да. Если сохранить текущий файл как к примеру :w some_name.md, то тип файла и соответсвенно синтаксис автоматом станут для markdown файлов.

Интересует такой момент. Если я ставлю TAB, а затем перехожу в его начало и удаляю его через DEL, то он удаляется по 1-му символу. Если я нахожусь в конце TAB’а и удаляю его через BACKSPACE, то он удаляется сразу, а не по символам. Вопрос в том, как сделать так, чтобы через BACKSPACE он удалялся так же по 1-му символу?

Не уверен, что это возможно. Но если тебе надо удалять или добавлять табы в начале строки, то тебе не надо на них переключаться и удалять. В нормал моде << - уменьшает отступ на один таб, и соответсвенно >> - увеличивает. В инсерт моде Ctrl-t и Ctrl-d делают тоже самое. А если ты используешь табы, где-то внутри строки, чтобы там выравнять некоторые строки, то для этого существуют удобные плагины по типу https://github.com/junegunn/vim-easy-align но без знаний английского я не думаю, что сможешь разобраться как с ним работать.

Исходная версия StillSteal, :

Ну будет сложно тогда с вимом. Потому что в его помощи много полезной информации.

Если коротко, если :set formatoptions?(локальная для баффера опция) выдает ключ t как один из множества ключей в нем, то глобальная опция textwidth должна работать для любого нового вводимого текста (но не для уже имеющегося в файле, об этом позже), как только количество символов в строке превышает ту, что в textwidth автоматически переносится текст деля текст на первом не WORD символе (пробеле, табе и т.д.). Чтобы уже введенный текст отформатировать, надо использовать форматер для данного типа файла, все что тебе сейчас надо знать - это то что команда в normal mode gggqG отформатирует весь файл. Но вообще лучше этим не пользоваться, ибо для многих языков программирования есть и линтеры и форматеры и лучше пользоваться ими.

augroup Retab

autocmd FilyType * au BufNewFile,BufRead .markdown,.mdown,.mkd,.mkdn,.mdwn,.md set ft=markdown

augroup END

augroup ИмяАугрупа - имя аугрупа должно быть уникально, поэтому двух augroup Retab у тебя не должно быть, а так да. А эта команда присваивает всем создаваемым или открываемым файлам с расширениями, которые перечислены тип файла markdown. По-моему все нужные расширения и так перечислены в сборке вима. Ну уверен что кто-то пользуется такими как .mdwn .mdown и так далее. Ну пожешь оставить конечно.

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

Да. Если сохранить текущий файл как к примеру :w some_name.md, то тип файла и соответсвенно синтаксис автоматом станут для markdown файлов.

Интересует такой момент. Если я ставлю TAB, а затем перехожу в его начало и удаляю его через DEL, то он удаляется по 1-му символу. Если я нахожусь в конце TAB’а и удаляю его через BACKSPACE, то он удаляется сразу, а не по символам. Вопрос в том, как сделать так, чтобы через BACKSPACE он удалялся так же по 1-му символу?

Не уверен, что это возможно. Но если тебе надо удалять или добавлять табы в начале строки, то тебе не надо на них переключаться и удалять. В нормал моде << - уменьшает отступ на один таб, и соответсвенно >> - увеличивает. В инсерт моде Ctrl-t и Ctrl-d делают тоже самое. А если ты используешь табы, где-то внутри строки, чтобы там выравнять некоторые строки, то для этого существуют удобные плагины по типу https://github.com/junegunn/vim-easy-align но без знаний английского я не думаю, что сможешь разобраться как с ним работать.