С учетом URL-адреса для анализа:
URL url = new URL("https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback");
Это решение собирает список пар:
List<AbstractMap.SimpleEntry<String, String>> list =
Pattern.compile("&").splitAsStream(url.getQuery())
.map(s -> Arrays.copyOf(s.split("="), 2))
.map(o -> new AbstractMap.SimpleEntry<String, String>(decode(o[0]), decode(o[1])))
.collect(toList());
Это решение с другой стороны, собирает карту (учитывая, что в URL-адресе может быть больше параметров с одним и тем же именем, но с разными значениями).
Map<String, List<String>> list =
Pattern.compile("&").splitAsStream(url.getQuery())
.map(s -> Arrays.copyOf(s.split("="), 2))
.collect(groupingBy(s -> decode(s[0]), mapping(s -> decode(s[1]), toList())));
Оба решения должны использовать служебную функцию для правильного декодирования параметров.
private static String decode(final String encoded) {
try {
return encoded == null ? null : URLDecoder.decode(encoded, "UTF-8");
} catch(final UnsupportedEncodingException e) {
throw new RuntimeException("Impossible: UTF-8 is a required encoding", e);
}
}
На самом деле я думаю поддержка по умолчанию, которую Vim включает для filetype=tex
, уже довольно хорошо. Так строго никакие плагины не необходимы.
Однако я действительно рекомендую несколько настроек, от которых можно избирательно подойти к выбору и адаптировать к собственному вкусу. Посмотрите справку для наблюдения то, что делает каждая команда/установка.
setlocal iskeyword+=:,-
setlocal makeprg=pdflatex\ -file-line-error\ -interaction=nonstopmode\ %
inoremap <buffer> { {}<ESC>i
inoremap <buffer> [ []<ESC>i
iab <buffer> ,b \begin{
iab <buffer> ,e \end{
" More abbreviations...
можно поместить их в ~/.vim/ftplugin/tex.vim
для загрузки их для каждого tex
файл. Следующее является некоторыми глобальными настройками, которые я сохраняю в ~/.vimrc
:
let g:tex_flavor = "latex"
set suffixes+=.log,.aux,.bbl,.blg,.idx,.ilg,.ind,.out,.pdf
Выберите от здесь , в зависимости от того, что Вы намереваетесь сделать.
Вы, вероятно, хотите Латексный Комплект. См. здесь .
Редактирование: я забыл добавлять ссылку к их веб-странице, которая является здесь .