Переменная, которая содержит “список всех открытых буферов” в Vim?

Вы должны указать правильный порт в socket_bind(), иначе он будет прослушивать произвольный порт. Вы проверяете это с помощью netstat в Linux и Windows. Когда вы пытаетесь подключиться к ws://localhost, это должен быть порт 80. Однако привязка к порту 80 обычно не разрешена, если вы не являетесь администратором. Лучше всего подключиться к другому порту, например, 8080, и подключиться к ws://localhost:8080.

9
задан Keith Pinson 24 January 2013 в 20:47
поделиться

2 ответа

Не можете Вы ловить результат в этих командах в регистр (:h :redir), и вставьте его назад в :vimgrep звоните (с a :exe).

Что-то как:

:exe "vimgrep/pattern/ " . lh#askvim#Exe(':args')

Примечания:

  • lh#askvim#Exe является просто оберткой вокруг :redir ; ничто действительно сложное
  • некоторым из этих результатов, возможно, понадобится некоторая обработка (см. :args это добавляет квадратные скобки),
  • Иногда существует функция, которая возвращает точно, что Вы ищете, посмотрите join(argv(), ' ') в :args случай
  • Относительно: буферы, может быть что-то как:

.

function BuffersList()
  let all = range(0, bufnr('$'))
  let res = []
  for b in all
    if buflisted(b)
      call add(res, bufname(b))
    endif
  endfor
  return res
endfunction
:exe 'vimgrep/pattern/ '.join(BuffersList(),' ')
11
ответ дан 4 December 2019 в 10:06
поделиться

Можно сделать это:

:bufdo vimgrep /pattern/ %

% заменяет буферным именем.

5
ответ дан 4 December 2019 в 10:06
поделиться
Другие вопросы по тегам:

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