Я давно смешиваю использование emacs
and vi
( vim
). У каждого из них есть свои преимущества. Я анализирую вывод ошибок из процесса, подобного процессу компиляции, и получаю номер строки и столбца, но могу использовать только emacs
для прямого перехода к строке и столбцу:
emacs +15:25 myfile.xml
у vi
меня есть только номер строки (в соответствии с man-страницей)
vi +15 myfile.xml
Есть опция, чтобы навести курсор на шаблон ( vi +/pattern myfile.xml
), который я никогда не получал. Но это не помогло бы мне, поскольку шаблон не всегда является первым вхождением в файл.
Как начать, vi
чтобы перейти к столбцу 25 в строке 15 моего файла? Могу ли я сделать что-то с -c
опцией?
quickfix
систему, которая запускает компилятор изнутри Vim, разбирает вывод ошибок, заполнит список ошибок (перемещаясь с:cp
,:cn
,:cl
команд), и позиционирует курсор на первый?:15
его, вы перейдете к строке 15. Надеюсь, это вам поможетОтветы:
Ты можешь использовать:
источник
15G
перейти к строке 15 и25|
перейти к столбцу 25. И Криста показывает, как сделать то же самое из командной строки.С помощью плагина file-line вы можете просто добавить строку и столбец к имени файла, как при запуске Vim, так и внутри с помощью таких команд
:edit
:источник
vim myfile.xml +15
для строки без плагина, но не столбец, насколько я знаюпросто для удовольствия есть,
-c 'normal 14j24l'
что поставит вас на линии 15 символов 25источник
Я не знаю об этом
-c
варианте, но вы должны быть в состоянии сделать:(убедитесь, что вы цитируете из-за круглых скобок
()
)источник
cursor()
использует байтовый индекс для столбца, но обычно это количество символов.Стоит отметить:
Запустите данную команду ex при запуске. Для vi разрешена только одна опция -c ; Vim принимает до 10. Более старая форма этой опции,
+command
все еще поддерживается.+command
Имеет то же одиночноеex command
ограничение при использованииvi
.+/pattern
Также ограничивается одной командой сvi
.(взято из Vim и бывшего редактора )
источник
Вы можете добавить следующий код в ваш vimrc. Когда вы вернетесь к своему файлу, vim автоматически вернется к старой позиции:
источник