Используйте шаблонную строку для построения выходной строки и string.split()
с регулярным выражением, чтобы разбить входную строку на запятые и избавиться от лишнего пробела:
const NoQ = "1234, 4321, 6789"
const NoQi = i => `Number: ${NoQ.split(/,\s*/)[i - 1]}`
console.log(NoQi(1))
console.log(NoQi(2))
console.log(NoQi(3))
Наиболее близким должен быть vim intellisense . К сожалению, он пока не поддерживает Фортран ...
Я думаю, что ближе всего вы сможете получить функцию vim, которая работает аналогично intellisense, но давайте использовать файл подсветки синтаксиса в качестве основы. Взгляните на мой файл .vimrc здесь для примера. По сути, он устанавливает автозаполнение для каждого из перечисленных типов: если тип файла поддерживается omnisense, он использует его, в противном случае он использует файл подсветки синтаксиса.
syntax on
colorscheme elflord
set tabstop=4
set shiftwidth=4
set nu!
set et!
filetype on
filetype plugin on
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType sql set omnifunc=sqlcomplete#Complete
autocmd FileType c set omnifunc=ccomplete#Complete
if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif
Другой возможностью является поиск на веб-сайте vim.org. Например, я нашел там следующее (даже если это не совсем то, что вы ищете, это всего лишь пример)
fortran_codecomplete.vim: завершите построение fortran с помощью
Надеюсь, это поможет
Quick & Dirty: Exuberant CTAGS
VIM очень хорошо понимает теги. К сожалению, это не совсем то изящное поведение, которое вам кажется: вы будете подпрыгивать между окнами, но я подумал, что это замечательно, учитывая, что у меня больше ничего не было.
Что может сработать, так это Photran , но я никогда им не пользовался. Однако, так как это открытый исходный код и настраиваемый, вы можете найти кого-то, кто уже пошел по дороге, по которой вы идете, например, похоже, есть плагин VIM . YMMV.
частичный ответ:
Хорошо, я получил первую часть:
Завершение всей строки Vim вызывается
<Ctrl-X, Ctrl-L>
(если оно находится в том же файле, который, кстати, очень часто это не так)
К сожалению, если объявление подпрограммы выглядит как
call assemble ( adiag, aleft, arite, f, h, indx, nl, node, nu, nquad, &
nsub, ul, ur, xn, xquad )
(где "&" - знак продолжения), этот способ не сработает. Кто-нибудь (а вы сами пишете сценарии виммеров) знает способ избежать такого поведения?