Arhn - архитектура программирования

Как заставить vim указать, что файл изменился с момента последнего сохранения?

Раньше я работал с netbeans, и он всегда ставил звездочку и менял цвет вкладки, когда файл изменился с момента последнего сохранения. Есть ли способ заставить vim сделать что-то подобное, то есть напомнить мне, что я не сохранил файл?

Я знаю, что есть способ время от времени сохранять его автоматически, но я не хочу этого делать.

vim
27.10.2013

  • Это может оказаться полезным. 27.10.2013
  • @Diode: Чем здесь полезны отметки? 27.10.2013
  • В качестве другой альтернативы помогает отображать вкладку строка. 15.09.2018

Ответы:


1

Вы можете использовать флаг m в опции 'statusline', [+] если файл изменен. Обратите внимание, что для просмотра строки состояния необходимо установить 'laststatus'< /a> должно быть больше 0 (1-показывает строку состояния только при наличии двух или более окон, 2-всегда).

Если вы используете версию с графическим интерфейсом, например MacVim, вы можете установить 'titlestring', который использует тот же синтаксис, но изменит имя окна в вашем оконном менеджере.

Пример:

:set laststatus=2
:set statusline=[%n]\ %<%f%h%m

Это отобразит:

  • [: буквальный
  • %n: номер буфера
  • ]: буквальный
  • \<Space>: пробел
  • %<: Обрезать поле в начале, если оно слишком длинное
  • %f: Путь к файлу в буфере, указанный или относительный к текущему каталогу.
  • %h: Флаг буфера справки, текст "[help]".
  • %m: флаг изменен, текст "[+]"; «[-]», если «модифицируемый» отключен.

Для получения дополнительной информации см.:

27.10.2013
  • Статусная строка — это, безусловно, путь сюда. Недавно я нашел плагин vim-airline, который предоставляет отличный набор значений по умолчанию для того, что он отображает: режим, изменено, ветку git, имя файла, кодировку, положение курсора и т. д. 28.10.2013
  • Если вам нужно что-то более причудливое, не прибегая сразу к плагинам, таким как vim-airline, вы можете использовать выражение в строке состояния, подобное этому [%{getbufvar(bufnr('%'),'&mod')?'modified':'saved'}]. Чтобы добавить его в существующую строку состояния, используйте что-то вроде :set statusline+=\ [%{getbufvar(bufnr('%'),'&mod')?'modified':'saved'}] 06.07.2014

  • 2

    Вызовите :ls, и вы увидите + перед несохраненными буферами.

    27.10.2013

    3

    Если терминал где-то отображает свой заголовок, можно использовать

    :set title
    

    чтобы показать, был ли файл изменен: + отображается после имени файла, если он был изменен.

    Однако файл может иметь + в конце имени файла. Для большинства файлов это должно работать нормально.


    Источник: https://stackoverflow.com/a/13244715/5267751

    15.09.2018

    4

    Нажатие Ctrl+g (или эквивалентно :f) в обычном режиме покажет состояние файла, которое указывает, был ли файл изменен.


    Статус выглядит так

    "file_name" 100 lines --20%--
    

    если файл не изменен или

    "file_name" [Modified] 100 lines --20%--
    

    если файл изменен.


    Для получения дополнительной информации см. :help ^g.

    15.09.2018
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..