当前位置:  技术问答>linux和unix

编程用VI,请教一个VI的问题

    来源: 互联网  发布时间:2016-04-23

    本文导语:  网上说: 可以用行号:20,50, 就可以把20行到五十行折叠起来 为什么我试了不行,请教具体的按键顺序是什么? 20,50,是一个逗号还是两个/ 100分 谢谢! | :20, 50fold | 1....

网上说:
可以用行号:20,50, 就可以把20行到五十行折叠起来
为什么我试了不行,请教具体的按键顺序是什么?
20,50,是一个逗号还是两个/
100分 谢谢!

|
:20, 50fold

|
1. 折叠方式 
可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。
有 6 种方法来选定折叠:
      manual           手工定义折叠
      indent          更多的缩进表示更高级别的折叠
      expr             用表达式来定义折叠
      syntax          用语法高亮来定义折叠
      diff                对没有更改的文本进行折叠
      marker          对文中的标志折叠
注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。
使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。
要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。
2. 折叠命令
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:
如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc    折叠
zC     对所在范围内所有嵌套的折叠点进行折叠 
zo    展开折叠
zO     对所在范围内所有嵌套的折叠点展开
[z    到当前打开的折叠的开始处。
]z    到当前打开的折叠的末尾处。
zj    向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk    向上移动到前一折叠的结束处。关闭的折叠也被计入。
当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)
我们可以使用下面的命令来创建和删除折叠:
zf    创建折叠,比如在marker方式下:
               zf56G,创建从当前行起到56行的代码折叠;
               10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。
               10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。
               在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],等)。
zd    删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zD     循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
      仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE     除去 (Eliminate) 窗口里“所有”的折叠。
      仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

|
11.1.1 折疊的產生

手動產生折疊的指令是 zf、zF、:fo[ld],以下以例子來說明較清楚。

zfap 將游標所在處的那個段落折疊成一行。
zf7G 自游標所在處至全文第 7 行折疊起來。
:3,9fold 將第 3 行至第 7 行折疊起來。
5zF 將游標所在處起算 5 行的內容折疊起來。
也可以將所要折疊的部份以 Shift+v 標記起來,然以按 zf 就會將標記的內容折疊起來。

11.1.2 折疊的操作

zo 將游標所在處的折疊打開。open。
zc 將游標所在處已打開的內容再度折疊起來。close。
zr 將全文的所有折疊依層次通通打開。reduce。
zm 將全文已打開的折疊依層次通通再折疊起來。more。
zR 作用和 zr 同,但會打開含巢狀折疊(折疊中又還有折疊)的所有折疊。
zM 作用和 zm 同,但對於巢狀折疊亦有作用。
zi 這是個切換,是折疊與不折疊指令間的切換。
zn 打開全文的所有折疊。fold none。
zN 這是 zn 的相對指令,回復所有的折疊。


|

|
顺便说一下,二楼正解 :)

|
学习!

|
UP

|
很好很强大!

|
:20,50fold

|
:20,50fold正解

|

:3,9fold 將第 3 行至第 7 行折疊起來。 

    
 
 

您可能感兴趣的文章:

  • 请教终端编程&curses编程高手
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 请教linux下的编程的选择:我听说有gtk+gnome的编程,也有kde里的 什么编程,到底应该选择哪个呢?好象一个是技术好一点,一个是市场占有
  • 请教:我想在unix编程领域发展,我应该在哪些方面努力?
  • 请教Linux下的编程工具
  • 新手请教,linux网络编程。
  • 请教一个多进程编程问题
  • 请教高手:如何学习内核编程?
  • 请教gcc编程 问题 关于调用中断 实现 图形模式
  • 请教linux下c编程的一个问题!
  • 急!!请教关于linux socket编程的一个问题!!
  • 请教LINUX下的网络编程?
  • 请教:想学LINUX内核编程,请指点
  • 请教:Linux下的C++编程和Windows下有什么不同,要注意什么?
  • 请教一下哪里有UNIX下C编程标准下载?
  • 请教串口通信的编程
  • 请教一下:Linux下如何编程制作系统托盘
  • arm串口缓冲和c编程请教
  • 菜鸟请教linux下的网络编程
  • 请教如何学习Linux上的编程
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • 请教Linux下的编程工具 iis7站长之家
  • 菜鸟问题:请问要在Linux操作系统下完成TCP/IP网络编程,用什么编程工具好?
  • UNIX环境高级编程里一个SOCKET编程的例子问题
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 一个小问题。Linux下编程语言的问题。
  • 我初学 Unix 编程,在看《Unix环境高级编程》时有一个问题请指教。
  • 求助linux下的网络编程问题
  • linux下网络编程环境配置问题
  • 关于声卡编程的问题
  • 菜鸟问题:现在要做unix下的c/c+编程的几个问题?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • 2013年7月和2013年8月编程语言排行榜
  • daemon 是属于 用户态编程 还是 内核态编程? 关于内核编程的书/资料介绍些好吗?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • unix编程与linux编程有什么区别?
  • 学不好编程的三个原因
  • 我想学Linux编程,请大家推荐几本学习Linux下C/C++编程的书
  • 半路出家转行学编程如何才能成为大牛?
  • Linux下的编程指的就是Shell编程吗?
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • linux下编程跟平时的编程有什么区别吗?
  • PHP编程需要注意地方总结
  • 那里有《shell编程》和关于curses编程的教程可以下载,请帮忙?
  • PHP编程语言介绍及安装测试方法
  • 学Linux编程前要学Unix吗?哪里有学Linux编程的好书下载?
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • Linux C编程一站式学习,高级shell Bash脚本编程指南,
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 本人刚学gtk编程,留下油箱,欢迎喜欢gtk编程的朋友和我交流啊!!!!
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 动态编程语言 LIME编程语言


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3