Если ширина вашего текста установлена на 80:
set textwidth=80
В качестве основы вы можете использовать следующую функцию:
function! RightAlign(char)
if strlen(a:char) > 1
return
endif
let l:linelength = strlen(getline('.'))
right
let l:spaces = strlen(getline('.')) - l:linelength
execute "normal 0|d" . l:spaces . "l"
execute "normal f" . a:char
normal P
end
funccommand -range -nargs=1 RightAlign <line1>,<line2>call RightAlign(<args>)
Используйте ее как следующую строку для выравнивания:
:RightAlign('/')
Аргумент - это первый символ, который вы хотите выровнять справа.
Он может быть вызван в диапазоне:
:'<,'>RightAlign '/'
:%RightAlign '/'
Если аргументесли вы передадите длиннее 1 символа, функция просто вернется.
Кроме того, она работает лучше, если вы используете пробелы, а не символы табуляции (для этого тоже потребуются некоторые изменения).