vi commandline, goto строка и столбец

Я очень долго смешивал использование emacs и vi ( vim ). У каждого из них есть свое преимущество. Я разбираю вывод ошибки из процесса компиляции и получаю строку и номер столбца, но я могу использовать emacs только для прямого перехода к строке и столбцу:

 emacs +15:25 myfile.xml 

с vi меня есть только номер строки (согласно странице руководства)

 vi +15 myfile.xml 

Есть возможность vi +/pattern myfile.xml курсор позиции на шаблон ( vi +/pattern myfile.xml ), который я никогда не работал. Но это не помогло бы мне, поскольку шаблон не всегда был первым вхождением в файл.

Как я могу запустить vi чтобы перейти к столбцу 25 в строке 15 моего файла? Могу ли я что-то сделать с опцией -c ?

  • Копировать vim выделенный текст в системный буфер обмена
  • Становление корня изнутри Vim
  • Странные символы после нажатия цифровых клавиш в редакторе VIM
  • Как разбить и отредактировать патчи?
  • Получение Alt для работы в терминале с помощью Tmux и Vim
  • Нежелательное выделение текста в Vim latex-suite
  • Одновременное редактирование нескольких файлов с помощью vim / gedit
  • Как указать произвольное имя для регистрации в vim
  • 6 Solutions collect form web for “vi commandline, goto строка и столбец”

    Вы можете использовать:

     vi '+normal 15G25|' myfile.xml 

    С плагином для файловой линии вы можете просто добавить строку и столбец к имени файла, как при вызове Vim, так и внутри с помощью таких команд, как :edit :

     vim myfile.xml:15:25 

    Я не знаю о опции -c , но вы должны уметь:

     vi '+cal cursor(15,25)' myfile.xml 

    (убедитесь, что вы указываете из-за скобки () )

    просто для удовольствия есть -c 'normal 14j24l' который поместит вас в строку 15 символов 25

    Стоит отметить:

     -c command 

    Запустите данную команду ex при запуске. Для vi допускается только одна опция -c ; Vim принимает до 10. Старая форма этой опции +command по-прежнему поддерживается.

    Команда +command имеет одно и то же ограничение ex command при использовании vi .

    Параметр +/pattern также ограничен одной командой с vi .

    (взято из vim и ex editor )

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

     if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif endif 
    Linux и Unix - лучшая ОС в мире.