首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vim:独立于语言的foldmethod=expr回退到语法折叠

Vim是一款功能强大的文本编辑器,它支持各种编程语言和操作系统。在Vim中,foldmethod是一种用于折叠代码的方法,而foldmethod=expr是一种特殊的折叠方法,它允许用户使用自定义的表达式来定义代码的折叠方式。

使用foldmethod=expr时,用户可以通过设置一个表达式来决定代码的折叠方式。这个表达式可以根据代码的语法结构来判断何时折叠代码块。这种折叠方法相比其他折叠方法更加灵活,可以根据具体需求进行定制。

优势:

  1. 灵活性:foldmethod=expr允许用户根据自己的需求定制代码的折叠方式,可以根据语法结构进行折叠,提高代码的可读性和可维护性。
  2. 可扩展性:用户可以根据自己的需求编写自定义的折叠表达式,从而实现更复杂的代码折叠方式。
  3. 提高效率:使用折叠功能可以将代码块折叠起来,减少屏幕上的显示内容,提高编辑效率。

应用场景:

  1. 大型代码库:对于大型代码库,使用折叠功能可以将不需要编辑的代码块进行折叠,减少屏幕上的显示内容,提高浏览和编辑效率。
  2. 阅读代码:在阅读他人的代码时,使用折叠功能可以将不关注的代码块进行折叠,集中注意力阅读重要的部分。
  3. 代码维护:在对代码进行维护时,使用折叠功能可以将不需要修改的代码块进行折叠,减少干扰,提高修改效率。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,以下是一些与云计算相关的产品和介绍链接地址:

  1. 云服务器(ECS):https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):https://cloud.tencent.com/product/cdb_mysql
  3. 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  4. 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  5. 物联网平台(IoT Hub):https://cloud.tencent.com/product/iothub
  6. 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  7. 云存储(COS):https://cloud.tencent.com/product/cos
  8. 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  9. 腾讯云游戏引擎(GSE):https://cloud.tencent.com/product/gse
  10. 腾讯云视频处理(VOD):https://cloud.tencent.com/product/vod

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vim 代码折叠之设置默认代码不折叠

配置 foldmethod 可以定义折叠方式,有6种可选方式: 1. manual //手工定义折叠 2. indent //用缩进表示折叠 3. expr //用表达式来定义折叠 4. syntax...//用语法高亮来定义折叠 5. diff //对没有更改文本进行折叠 6. marker //用标志折叠 我选用 syntax 来定义折叠,这种方式比较简单,但是当配置完这个值后,你打开代码,就会发现...vim 默认把所有代码都折叠了,这显然不是我想要,google一番后找到办法,设置 foldlevelstart 为99后,打开默认没有折叠。...配置: "使用语法高亮定义代码折叠 set foldmethod=syntax "打开文件时默认不折叠代码 set foldlevelstart=99 参考文献# vim代码折叠:设置默认代码不折叠

37830
  • 从零开始配置vim(21)——lsp简介与treesitter 配置

    在过去vim配置中,我们基于 you-complete-me这个插件配置。但是对于不懂c语言甚至vim小白来说简直是灾难。...但是微软提出 lsp(language server protocol) 确改变了这一格局。 lsp最重要就是将语法分析、跳转、自动补全功能这些语言核心功能和最终呈现效果分开。...treesitter 想要工作,需要根据语言下载配套语言对应语法解析模块,我们可以使用 :TSInstallInfo 来查看当前我们安装了哪些解析模块。...(=) indent = { enable = true }, }) -- 开启代码折叠 vim.wo.foldmethod = 'expr' vim.wo.foldexpr...= 'nvim_treesitter#foldexpr()' -- 默认不折叠 vim.wo.foldlevel = 99 我们来一条条解释这些配置 ensure_installed 表示需要支持哪些语言

    4.2K20

    vim 开发环境设置(常用)

    cat > ~/.vimrc << eof " ~/.vimrc " vim config file " date 2018-07-15 " Created by oldboy " blog:...by oldboy """"""""""""""""""""" "激活折叠功能 set foldenable "设置按照语法方式折叠(可简写set fdm=XX) "有6种折叠方法: "manual...手工定义折叠 "indent 更多缩进表示更高级别的折叠 "expr 用表达式来定义折叠 "syntax 用语法高亮来定义折叠 "diff 对没有更改文本进行折叠 "marker...对文中标志进行折叠 set foldmethod=manual "设置折叠区域宽度 "如果不为0,则在屏幕左侧显示一个折叠标识列 "分别用“-”和“+”来表示打开和关闭折叠。...set ai "智能缩进 set si "自动换行 set wrap "设置软宽度 set sw=4 """"""""""""""""""""" " => Vim 界面 by oldboy

    85630

    2018-09-03 简单问题:VIM中 查找 “上一个” 快捷键是什么?G 移动光标到指定行#. 例如: 5G-> 光标下反向搜索关键词 (search the word under cursor

    "(cindent是特别针对 C语言语法自动缩进) set smartindent "依据上面的对齐格式,智能选择对齐方式,对于类似C语言编写上有用 set tabstop...折叠方式 可用选项 ‘foldmethod’ 来设定折叠方式:set fdm=*****。...有 6 种方法来选定折叠: manual 手工定义折叠 indent 更多缩进表示更高级别的折叠 expr 用表达式来定义折叠...,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。...使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod缩写)。

    6.2K10

    Mac 下升级 vim 并自己配置 vim 过程

    1.升级 vim   我自己 MacBook Pro 系统还是 10.11 ,其自带 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim -...-with-lua --with-override-system-vim 这将下载最新 vim 版本并替换系统自带 vim 。...打开 .vimrc 文件,输入配置,我配置如下: "显示行号 set nu "启动时隐去援助提示 set shortmess=atI "语法高亮 syntax on "使用vim键盘模式 set...设置状态栏主题风格 let g:Powerline_colorscheme='solarized256' syntax keyword cppSTLtype initializer_list " 基于缩进或语法进行代码折叠..."set foldmethod=indent set foldmethod=syntax " 启动 vim 时关闭折叠代码 set nofoldenable "允许用退格键删除字符 set backspace

    2.5K70

    关于vim简单设置以及使用技巧

    vim快速指南: vim 使用技巧: 1、认识.命令 最理想编辑模式:一次按键移动,一次编辑操作 .命令可以重复上一次修改操作 在普通模式下: j切换到下一行 A切换到本行行末,并进入插入模式...当删除更多单词时候,我们是使用dnw还是dw加上n个.命令。对于准确性和滚可操作性来说还是后者比较实用 注意:使用次数一个好处就是能够保留一个完整、连贯撤销历史记录。...shiftwidth=4 expandindent空格代替制表符) set autoindent smartindent        设置自动缩进,为c程序提供自动缩进 set foldenable foldmethod...,menu 注意: manual           手工定义折叠 indent             更多缩进表示更高级别的折叠 expr                用表达式来定义折叠...syntax             用语法高亮来定义折叠 diff                  对没有更改文本进行折叠 marker            对文中标志折叠

    91090

    vim配置文件修改

    set laststatus=1    " 启动显示状态行(1),总是显示状态行(2)   set foldenable      " 允许折叠   set foldmethod=manual...  " 手动折叠   "set background=dark "背景使用黑色  set nocompatible  "去掉讨厌有关vi一致性模式,避免以前版本一些bug和局限   " 显示中文帮助...set foldcolumn=0 set foldmethod=indent  set foldlevel=3  set foldenable              " 开始折叠 " 不要使用...vi键盘模式,而是vim自己 set nocompatible " 语法高亮 set syntax=on " 去掉输入错误提示声音 set noeb " 在处理未保存或只读文件时候,...,只显示当前文件  let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim  let Tlist_Use_Right_Window = 1

    2.4K20

    Vim终极配置方案,完美的写代码界面! ——.vimrc

    大家好,又见面了,我是你们朋友全栈君。 先秀一下我Vim界面 语法补全我用是YouCompleteMe, 有目录树插件,taglist插件等。...背景可以通过换张自己喜爱壁纸,然后调终端透明度,就可以对着自己喜爱场景编程啦~ 有语法高亮,语句补全,显示行号,自动缩进等等功能。...' let g:ycm_show_diagnostics_ui = 0 " 禁用语法检查 inoremap pumvisible...set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 开始折叠 " 不要使用vi...键盘模式,而是vim自己 set nocompatible " 语法高亮 set syntax=on " 去掉输入错误提示声音 set noeb " 在处理未保存或只读文件时候,弹出确认 set

    8.5K51

    vim-python环境配置

    一、环境配置: 1、配置vim alias,使vim成为默认vi编辑器: echo alias vi=\'vim\' >> ~/.bashrc    source ~/.bashrc 2、配置vimrc...: gashero " NOTE: 配置一份简单vim配置文件 set nocompatible    "非兼容模式 syntax on           "开启语法高亮 set background...=indent   "缩进作为折叠标识 set foldlevel=100   "不自动折叠 set foldopen-=search    "搜索时不打开折叠 set foldopen-=undo  ..."撤销时不打开折叠 set updatecount=0   "不使用交换文件 set magic           "使用正则时,除了$ . * ^以外元字符都要加反斜线 "缩进定义 set shiftwidth...python 环境配置 1、加强python语法高亮脚本:python.vim python.vim : Enhanced version of the python syntax highlighting

    1.3K11

    【Linux 操作系统】vim编辑器配置及常用命令

    C语言功底太差了, 跟着班从最基础开始学习吧, Linux C 开发, 使用vim编辑器进行开发, 必须把vim编辑器用熟练, 在这篇博客里面总结下vim; 一. vim配置文件 快捷键优点 : ...代码折叠配置 set foldcolumn=0 set foldmethod=indent  set foldlevel=3  set foldenable              " 开始折叠 3....set laststatus=1 " 启动显示状态行(1),总是显示状态行(2) set foldenable " 允许折叠 set foldmethod=manual...set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 开始折叠 " 不要使用...vi键盘模式,而是vim自己 set nocompatible " 语法高亮 set syntax=on " 去掉输入错误提示声音 set noeb " 在处理未保存或只读文件时候,

    2.3K50

    mac下vim美化配置

    osx系统有些配置文件地方和Linux系统不太一样真是让人捉急 以VIM为例 默认配置文件在/usr/share/vim/vimrc sudo vim /usr/share/vim/vimrc #...add syn on "语法支持 set laststatus=2 "始终显示状态栏 set tabstop=2 "一个制表符长度 set softtabstop=2 "一个制表符长度(可以大于tabstop...) set shiftwidth=2 "一个缩进长度 set expandtab "使用空格替代制表符 set smarttab "智能制表符 set autoindent "自动缩进 set smartindent...directory=/tmp "设置临时文件目录 set ignorecase "检索时忽略大小写 set hls "检索时高亮显示匹配项 set helplang=cn "帮助系统设置为中文 set foldmethod...=syntax "代码折叠 效果图: Reference: http://hessian.cn/p/1026.html http://blog.sina.com.cn/s/blog_5a6efa330101cumx.html

    1.4K20

    舒适美观mac终端, iTerm+zsh+powerlevel9k+vim+virtualenv

    环境. ----- zsh插件 多不说, 语法高亮和指令提示肯定要. brew install zsh-syntax-highlighting brew install zsh-autosuggestions...设置 我个人还是很喜欢用vim, 只要不是太复杂环境, 我都尽量使用vim进行代码编辑....let g:Powerline_colorscheme='solarized256' " 基于缩进或语法进行代码折叠 set foldmethod=syntax " 启动 vim 时关闭折叠代码 set...这里再推荐一个gruvbox主题, 效果如下: [image] ----- 代码折叠 使用自带代码折叠 " 基于缩进或语法进行代码折叠 "set foldmethod=indent set foldmethod...=syntax " 启动 vim 时关闭折叠代码 set nofoldenable 进入vim命令模式, za即可折叠当前块 zM关闭所有折叠 zR打开所有折叠 [image] ----- 插件管理和使用

    4.2K30

    一步步将vim改造成CC++开发环境(IDE)

    ,包括语法高亮支持、缩进等等。...=4 " (自动) 缩进使用4个空格 set cindent " 使用 C/C++ 语言自动缩进方式 set cinoptions={0,1s,t0,n-...此时,Vim已经是这种效果了(语法高亮挺漂亮–这个是由vim-scripts中插件支持): 3、ctags安装与配置 ctags可以建立源码树标签索引(标签就是一个标识符被定义地方,如函数定义...折叠方式foldmethod vim提供以下6种方法来选定折叠方式: manual 手工定义折叠 indent 更多缩进表示更高级别的折叠 expr 用表达式来定义折叠 syntax 用语法高亮来定义折叠..."--fold setting-- set foldmethod=syntax " 用语法高亮来定义折叠 set foldlevel=100 " 启动vim时不要自动折叠代码

    9.2K21
    领券