评论您现在的位置是:湖南作家网>文学阅读>评论

生于泥土的吟唱——读沈俊峰散文集《在城里牧羊》

来源:中国国门时报 张雄文   时间 : 2020-06-15

 

分享到:

  俊峰是一个极朴厚的人。

  那年,我到北京鲁院读高研班。常自称明太祖后裔,“抱怨”故宫是朱家祖产,回个老家,进去瞧瞧竟还需门票的朱师兄慷慨给我接风,命我先到附近的香鼎坊订餐,他就赶地铁过来。我遵命而行,用手机发了订好的包厢过去,刚点完菜,门被悄然推开,进来一个光头男子。他面相倒和善,说话也斯文,不似传说里凶蛮的“光头党”,颇像得道多年的僧人,说的包厢也对,但我素忌光头,认定他走错了,生硬将他推了出去。未几,朱师兄到了,身边跟着刚出去的光头。我才知他也是鲁29的师兄,叫沈俊峰。他沉然落座,脸色不愠不恼,甚或有浅浅笑意。我忙道歉,笑过后成了好友,后来相聚最多。

  俊峰的文字我自然也渐渐熟悉,一如他的为人,实诚、内敛、质朴,淌着泥土的气息,像稻田里埋首而殷实的一株株禾稻。捧着他千里寄赠的新著散文集《在城里放羊》,我再次领略到了这一点,而更多的是终于窥见了他朴讷外表下丰饶的内心,常自掩卷沉吟,心向往之。

  鲁院常务副院长、著名散文家徐可说:“散文须有情,唯有真情能动人。”白居易也早说过:“感人心者,莫先乎情。”《在城里牧羊》一书,便是情郁于中的宏篇佳构,每一篇都能于无声处以真情打动读者,契合莫言所说的“真心真情真感觉。有真乃大,有真乃美”。

  俊峰充盈于文字间的情,最多的是对故土的回眸与不舍。翻检书页,我似乎依稀见着了“依北风”的“胡马”与“巢南枝”的“越鸟”。他的故乡安徽阜阳,古称颍州,欧阳修谓之“民淳讼简”“土厚水甘”,老而退居于颍,最终卒于此。俊峰生于斯,被欧阳修迷恋的“风气和”所熏陶,度过了“能让一个人津津有味翻来覆去絮语一辈子”的童年。风风火火跟着一帮年龄大些的小伙伴上学、嬉闹,啃着红芋和玉米等粗粮,感受着“做鞋、做衣服,手艺比女人还要好”,又“极讲究、极爱干净”的三老爷等老辈人的勤勉与愁苦,石缝间的牛筋草一般茁然成长。

  故土风俗敦厚,却曾贫瘠难堪。他有过埋怨,“曾经吃红芋吃到伤,发誓再也不吃红芋了”,“稀饭、面条、馍,煮、蒸、炒,几乎都是红芋。也没有什么菜,只是辣椒多,把辣椒砸碎,放点盐,蘸着吃”。他“越吃越瘦,寡黄黑瘦,瘦得像猴”,于是,“有许多年,大米白面敞开吃的日子,我碰都不碰一下红芋”。我也有过相似经历,不免莞儿一笑。

  苦难是最好的磨刀石。俊峰从大别山深处的乡间,辗转奔波经年,硬生生挤入人流熙熙的矿区、省城,最后定居于首善之区的京城,终成一柄闪灼的利剑,也成为乡邻们歆慕的“人物”。他却越来越思念故土,甚或多年不碰的红芋,他也“边吃边感慨”,明白“世间有这么多人能够存活于世,是要感恩红芋的”。他说,“人,其实就像一只大雁,居南想北,于北想南。透过你头顶的那一片天空,一定还有一个精神的故乡,留待你的飞越和思念。”因之,进了人流辐辏、寸土寸金的京都五环内某小区居住,他却想着像儿时一般安静地放羊,“很奇怪,在高楼大厦的空隙,我总是能够寻找到逝去的柔软和温情……我享受着城的繁华,却总是情不自禁地灵魂背叛”。于是,流光深处被遗弃已久的故土,成为他笔下的精神原乡,给他提供绵绵不尽的鲜活素材,田地、草木、校舍、小镇老街、桃源河,甚或倾颓老屋的一砖一瓦,垒就了他做为作家的陡峻高楼。

  俊峰新著淌溢的深情,自然不止倾注于故土,还有泥土上蹒跚与挣扎的底层人物,正如他所说:“我的书写方向,就是目光向下,笔尖向下,一直向下……”他念叨种西瓜因误听打了糖精水而赔本的三老爷,“尤其是他在夜深人静之时惊天动地的哭声,更是椎心”。他为新婚才十天,却遭残忍家暴,被挖掉了双眼的山村女子萍奔走呼号,讨回公道。受害者一家“心中那团不散的乌云,现在终于散去,太阳出来了。不管遇到什么样的灾难,日子还是要往前走的”。他牵挂重情重义,服侍父母活到80多岁,自己五十岁了还打着光棍儿的孝子老董,为他终于能在《脱贫确认表》上签字而由衷欣慰:“注目,向这古老壮阔的山川和厚重慈祥的土地,致敬。”……

  正因为此,俊峰获得了第五届中国报人散文奖。文坛大家贾平凹亲自给他颁发了授奖词:“沈俊峰的写作关注当下普通人的生活形态和内心困境。人与生活,在奋斗与麻木间挣扎而更加鲜活,在生计与尊严的摇摆中愈加笃定,被驱赶,也被推动,无力,也奋勇,有迎击,也有屈服,各种滋味互相融洽又丝丝分明,表现了对生存的审视、关怀、困惑和理解。”摩挲手中芬芳的书页,我深知,俊峰当之无愧。

  俊峰曾说:“人这一生,应该有三个任务和责任:把孩子培养成才,敬爱父母,圆自己一个梦!”而今,他的孩子成了影视界的名角;父母随他进京,怡然养老;他自己的文学梦,则依旧在渺远的路上。他淡然说:“往前走,不求多远,只求不止”。我想,他孜孜以求的这些生于泥土间的浅吟低唱,必将像野草一样顽强而葳蕤,回馈他一个卓异的未来。

 

  作者简介:

  张雄文,中国作家协会会员、湖南省作协全委、湖南报告文学学会副会长、株洲市作协副主席、鲁迅文学院第33届高研班学员。在《人民文学》《中国作家》《民族文学》《北京文学》《天津文学》《湖南文学》《山东文学》《安徽文学》《散文海外版》《人民日报》《人民日报海外版》《光明日报》《文艺报》等数十家报刊发表百余万字,出版有《无冕元帅》、《名将粟裕珍闻录》等10部书。作品入选多个年度选本,获山西省五个一工程奖、第八届冰心散文奖等多种奖项。

更多>>文学资讯
    FreeMarker template error (DEBUG mode; use RETHROW in production!): No error description was specified for this error; low-level message: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=243&channelId=24509&pageSize=5&excludeNum=0&includeTop=2&terminal=1&videoFlag=false&randomFlag=false ---- FTL stack trace ("~" means nesting-related): - Failed at: @_contentList id="wxzxtxt" pageSize="... [in template "site_243//template/content/county_right.html" at line 18, column 41] ---- Java stack trace (for programmers): ---- freemarker.template.TemplateException: [... Exception message was already printed; see it above ...] at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:31) at freemarker.core.Environment.visit(Environment.java:452) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102) at freemarker.core.Environment.visit(Environment.java:335) at freemarker.core.Environment.visit(Environment.java:341) at freemarker.core.Environment.process(Environment.java:314) at freemarker.template.Template.process(Template.java:383) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateFileByFile(TemplateFileService.java:681) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateStaticFileForTemplatePage(TemplateFileService.java:163) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$FastClassBySpringCGLIB$$48aa813.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$EnhancerBySpringCGLIB$$1f864d69.generateStaticFileForTemplatePage() at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishTemplatePage(TemplatePageServiceImpl.java:315) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishIndex(TemplatePageServiceImpl.java:600) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$FastClassBySpringCGLIB$$92d4ea80.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$EnhancerBySpringCGLIB$$e59ef362.saveAndPublishIndex() at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.lambda$generateHtml$0(RightSidePageStaticJob.java:82) at java.util.ArrayList.forEach(ArrayList.java:1257) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generateHtml(RightSidePageStaticJob.java:79) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generate(RightSidePageStaticJob.java:66) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.execute(RightSidePageStaticJob.java:49) at com.xxl.job.core.thread.JobThread.run(JobThread.java:152) Caused by: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=243&channelId=24509&pageSize=5&excludeNum=0&includeTop=2&terminal=1&videoFlag=false&randomFlag=false at feign.FeignException.errorExecuting(FeignException.java:268) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:131) at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:91) at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory$1.proceed(FeignCachingInvocationHandlerFactory.java:66) at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:54) at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:351) at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory.lambda$create$1(FeignCachingInvocationHandlerFactory.java:53) at com.sun.proxy.$Proxy204.getContentListByChannel(Unknown Source) at sun.reflect.GeneratedMethodAccessor424.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at com.sun.proxy.$Proxy205.getContentListByChannel(Unknown Source) at cn.rednet.redcloud.template.freemarker.directive.ContentListDirective.execute(ContentListDirective.java:191) at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:27) ... 61 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at feign.Client$Default.convertResponse(Client.java:110) at feign.Client$Default.execute(Client.java:106) at org.springframework.cloud.openfeign.loadbalancer.LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing(LoadBalancerUtils.java:57) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.lambda$execute$2(RetryableFeignBlockingLoadBalancerClient.java:168) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:329) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:225) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.execute(RetryableFeignBlockingLoadBalancerClient.java:114) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:121) ... 90 more

湖南省作家协会 | 版权所有 : 湘ICP备05001310号
Copyright ? 2005 - 2012 Frguo. All Rights Reserved