Может Vim делать завершение Фортрана аргументов подпрограммы

Используйте шаблонную строку для построения выходной строки и 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))

6
задан Rook 5 May 2009 в 05:55
поделиться

4 ответа

Наиболее близким должен быть vim intellisense . К сожалению, он пока не поддерживает Фортран ...

3
ответ дан 10 December 2019 в 00:44
поделиться

Я думаю, что ближе всего вы сможете получить функцию 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 с помощью

Надеюсь, это поможет

2
ответ дан 10 December 2019 в 00:44
поделиться

Quick & Dirty: Exuberant CTAGS

VIM очень хорошо понимает теги. К сожалению, это не совсем то изящное поведение, которое вам кажется: вы будете подпрыгивать между окнами, но я подумал, что это замечательно, учитывая, что у меня больше ничего не было.

Что может сработать, так это Photran , но я никогда им не пользовался. Однако, так как это открытый исходный код и настраиваемый, вы можете найти кого-то, кто уже пошел по дороге, по которой вы идете, например, похоже, есть плагин VIM . YMMV.

2
ответ дан 10 December 2019 в 00:44
поделиться

частичный ответ:

Хорошо, я получил первую часть:

Завершение всей строки Vim вызывается

<Ctrl-X, Ctrl-L>

(если оно находится в том же файле, который, кстати, очень часто это не так)

К сожалению, если объявление подпрограммы выглядит как

call assemble ( adiag, aleft, arite, f, h, indx, nl, node, nu, nquad, &
nsub, ul, ur, xn, xquad )

(где "&" - знак продолжения), этот способ не сработает. Кто-нибудь (а вы сами пишете сценарии виммеров) знает способ избежать такого поведения?

3
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

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