Лучший ответ для веб-apis, который можно легко понять разработчикам мобильных устройств.
Это для ответа «Успех»
{
"ReturnCode":"1",
"ReturnMsg":"Successfull Transaction",
"ReturnValue":"",
"Data":{
"EmployeeName":"Admin",
"EmployeeID":1
}
}
Это для ответа «Ошибка»
{
"ReturnCode": "4",
"ReturnMsg": "Invalid Username and Password",
"ReturnValue": "",
"Data": {}
}
Просто добавьте складной регион к своему синтаксису http://vim.wikia.com/wiki/Syntax_folding_of_Vim_scripts#Syntax_definitions
:syn region myFold start="\#IF" end="\#ENDIF" transparent fold
:syn sync fromstart
:set foldmethod=syntax
Для добавления к ответу @hometoasts можно добавить, что команда как комментарий в первых десяти или длится десять строк файла, и энергия будет автоматически использовать его для того файла.
/* vim: syn region regionName start="regex" end="regex": */
Быстрое дополнение к дополнению Дентона: для использования нового синтаксического правила с любым C или кодом C++ добавьте его к файлу в $VIMRUNTIME/syntax/c.vim
и cpp.vim
. ($VIMRUNTIME
то, где Ваш локальный код Vim живет: ~/.vim
на Unix.) Кроме того, значения для start
и end
в синтаксисе определением являются регулярные выражения, таким образом, можно использовать ^#if
и ^#endif
для обеспечения они только соответствуют тем строкам в начале строки.
Я всегда использовал forldmethod=marker и определял мои собственные теги сгиба, помещенные в рамках комментариев.
это для определения символов, которые определяют открытые и близкие сгибы. в этом случае открытый" <(" и близко"),>", заменяют их тем, что Вы хотели бы.
set foldmethod=marker
set foldmarker=<(,)>
Это - моя пользовательская функция для решения что к дисплею свернутого текста:
set foldtext=GetCustomFoldText()
function GetCustomFoldText()
let preline = substitute(getline(v:foldstart),'<(','<(+)','')
let line = substitute(preline,"\t",' ','g')
let nextLnNum = v:foldstart + 1
let nextline = getline(nextLnNum)
let foldTtl = v:foldend - v:foldstart
return line . ' | ' . nextline . ' (' . foldTtl . ' lines)>'
endfunction
Надежда, которая помогает.
У меня огромная база кода и поэтому большое количество #defines. В каждом файле есть множество #ifdef'ов. и в большинстве случаев они вложены друг в друга. Я перепробовал множество скриптов vim, но они всегда наталкивались на какую-нибудь ошибку в моем коде. В конце концов, я поместил все свои определения в заголовочный файл и включил его в файл, с которым я хотел работать, и сделал gcc на нем вот так
gcc -E -C -P source.cpp > output.cpp
Команда -E заставляет gcc запустить только препроцессор в файле, поэтому весь ненужный код в неопределенных #ifdef'ах удаляется. Опция -C сохраняет комментарии в файле. Опция -P запрещает генерацию маркеров строк в выводе препроцессора.