Другой вывод команды “истории” после повторного подключения через SSH

  inoremap <F5> <C-R>=ListMonths()<CR>

    func! ListMonths()
      call complete(col('.'), ['January', 'February', 'March',
            \ 'April', 'May', 'June', 'July', 'August', 'September',
            \ 'October', 'November', 'December'])
      return ''
    endfunc

Найденный им! Убранный в том Гримуаре они пытаются сказать нам, документы =)

======================= Мой заключительный сценарий - что-то как

inoremap <F5> <C-R>=CustomComplete()<CR>

        func! CustomComplete()
                echom 'move to start of last word'
                normal b
                echom 'select word under cursor'
                let b:word = expand('<cword>')
                echom '->'.b:word.'<-'
                echom 'save position'
                let b:position = col('.')
                echom '->'.b:position.'<-'
                normal e
                normal l
                echom 'move to end of word'     

                let b:list = ["spoogle","spangle","frizzle"]
                let b:matches = []


                echom 'begin checking for completion'
                for item in b:list
                echom 'checking '
                echom '->'.item.'<-'      
                        if(match(item,'^'.b:word)==0)
                        echom 'adding to matches'
                        echom '->'.item.'<-'      
                        call add(b:matches,item)
                        endif
                endfor
                call complete(b:position, b:matches)
                return ''
        endfunc
3
11.05.2013, 02:17
3 ответа
[117310] Это происходит потому, что история Ваших команд из текущего сеанса промывается на диске во время выхода из системы. И если Вы были отключены, то при повторном подключении Вы получите последнюю историю.

  • Также можно вручную прошить историю на диск, запустив:

См. раздел [117603]man history[117604]:

4
27.01.2020, 21:13

Существует несколько переменных среды, которые управляют поведением истории. Некоторые из них включают:

HISTFILE=/home/saml/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000

Обычно то, что происходит, - то, что у Вас есть больше чем одна открытая оболочка и которые когда-либо окружают, добираются, закрылся, в последний раз ударяет некоторые записи, которые были записаны там ранее оболочкой, которую Вы закрыли сначала.

Смотрите на раздел Справочника Bash по команде истории для большего количества информации.

1
27.01.2020, 21:13

Обычно @frzie отвечает на этот вопрос, но, чтобы уточнить, у вас есть временный файл истории, который создается при входе в сеанс оболочки. Когда вы выходите из системы, этот файл истории добавляется к постоянному файлу .history , который хранится в $ HOME .

Поскольку вы не вышли из системы, этого добавления не произошло. Чтобы проверить это, вы можете ввести команду history и сравнить вывод (который включает вашу временную историю) с выводом cat $ HOME / .history (который является содержимым файла .history файл в вашем $ HOME ). Эти выходные данные должны отличаться (даже если вы видите только что введенную команду history в одном, но не в другом). Теперь, если вы введете команду history -a , файлы должны быть более или менее одинаковыми.

2
27.01.2020, 21:13

Теги

Похожие вопросы