Size: a a a

2020 December 30

MK

Matwey Kornilov in pro.vim
спасибо
источник

MK

Matwey Kornilov in pro.vim
а как бы сделать, чтобы он не разбивал слово по ::?
источник

MK

Matwey Kornilov in pro.vim
У меня stdman установлен и есть man std::sort например в системе
источник

MK

Matwey Kornilov in pro.vim
А K либо std либо sort хочет найти по частям
источник

GK

Georgy Komarov in pro.vim
Хм, не уверен. Видимо, надо ремапнуть в конфиге.
источник

GK

Georgy Komarov in pro.vim
Matwey Kornilov
а как бы сделать, чтобы он не разбивал слово по ::?
Можно выделить нужное слово в visual mode и сделать K.

Для normal mode, можно написать что-то вроде:

nnoremap K :execute 'Man ' . expand('<word>')<CR>

<word> разделяет слова по iskeyword (см. :he isk), поэтому нам также надо будет добавить :: в isk для текущего буфера: setlocal iskeyword+=:
источник

V

Vim Help in pro.vim
Found help for 'isk' in Vim docs:
https://vimhelp.org/options.txt.html#%27isk%27
источник

GK

Georgy Komarov in pro.vim
Проблема такого способа в том, что isk используется для подсветки и маппингов для передвижения по буферу (например, w). Поэтому что-то может работать не так. Я думаю, правильнее будет написать функцию, которая будет искать нужную позицию в тексте.
источник

NG

Nicholas Guriev in pro.vim
Georgy Komarov
Проблема такого способа в том, что isk используется для подсветки и маппингов для передвижения по буферу (например, w). Поэтому что-то может работать не так. Я думаю, правильнее будет написать функцию, которая будет искать нужную позицию в тексте.
к слову для подсветки есть свой iskeyword
источник

VG

Vadim Goncharov in pro.vim
да, тоже поэтому лениво менять iskeyword было
источник

VG

Vadim Goncharov in pro.vim
возможно, стоит написать тогглер для iskeyword
источник

VG

Vadim Goncharov in pro.vim
потому что в поиске он тоже бывает нужен разный
источник

V

Vim Help in pro.vim
Found help for :syn-iskeyword in Vim docs:
https://vimhelp.org/syntax.txt.html#%3Asyn%2Diskeyword
источник

GK

Georgy Komarov in pro.vim
Nicholas Guriev
к слову для подсветки есть свой iskeyword
Интересно. Почему же у меня добавление : к isk поломало подсветку в плюсах.
источник

NG

Nicholas Guriev in pro.vim
Georgy Komarov
Интересно. Почему же у меня добавление : к isk поломало подсветку в плюсах.
потому что в syntax файле не используется отдельный iskeyword
источник

GK

Georgy Komarov in pro.vim
@matwey_kornilov Вот так в итоге получилось:

function! s:CppMan()
   let old_isk = &iskeyword
   setl iskeyword+=:
   let str = expand("<cword>")
   let &l:iskeyword = old_isk
   execute 'Man ' . str
endfunction
command! CppMan :call s:CppMan()

au FileType cpp nnoremap <buffer>K :CppMan<CR>

Вроде норм работает. Тоже поставил себе stdman, спасибо за наводку. 👍
источник

MK

Matwey Kornilov in pro.vim
Georgy Komarov
@matwey_kornilov Вот так в итоге получилось:

function! s:CppMan()
   let old_isk = &iskeyword
   setl iskeyword+=:
   let str = expand("<cword>")
   let &l:iskeyword = old_isk
   execute 'Man ' . str
endfunction
command! CppMan :call s:CppMan()

au FileType cpp nnoremap <buffer>K :CppMan<CR>

Вроде норм работает. Тоже поставил себе stdman, спасибо за наводку. 👍
Классно, спасибо
источник

AS

Aleksander Samoylenk... in pro.vim
Привет! Знаю, что есть команда ga, которая печатает информацию о символе в hex и прочих системах счисления. А есть ли обратная операция? У меня в файле есть много \u0422 и им подобных. Я могу как-то не сложно превратить их в символы? Про <C-V>uXXXX знаю, но её вряд-ли получится использовать в :s 🤔
источник

NG

Nicholas Guriev in pro.vim
можно через Python или Node.js такое преобразовывать
источник

VG

Vadim Goncharov in pro.vim
Aleksander Samoylenko
Привет! Знаю, что есть команда ga, которая печатает информацию о символе в hex и прочих системах счисления. А есть ли обратная операция? У меня в файле есть много \u0422 и им подобных. Я могу как-то не сложно превратить их в символы? Про <C-V>uXXXX знаю, но её вряд-ли получится использовать в :s 🤔
через | perl прогони фрагмент :)
источник