gpt4 book ai didi

oracle - 使用 .vimrc 在 Vim 中自动折叠 Oracle 内联 View

转载 作者:行者123 更新时间:2023-12-04 01:45:51 26 4
gpt4 key购买 nike

我之前见过神奇的 Vim 命令,你可以添加到 .vimrc 以在打开特定类型的文件时创建折叠。我记得有这样的代码可以在打开文件时在每个 Ruby 方法和类中创建折叠。然后,通过一个命令,我可以折叠所有这些方法折叠。有谁知道如何使用 PL/SQL 中的内联 View 来做到这一点?假设我有以下 SQL:

SELECT blah,
teh_max
FROM (
SELECT blah,
MAX(bar) AS teh_max
FROM (
SELECT blah,
bar
FROM foo
)
GROUP BY blah
)
ORDER BY blah

我想在 Vim 中打开它时创建折叠,以便我可以转到 FROM (行,打 zc在命令模式下,并折叠从该行开始的内联 View 。用一个命令折叠所有折叠也很好。

最佳答案

通过设置 foldmethod 激活基于语法的折叠至 syntax :

" for all windows
set foldmethod=syntax
" for the current window
setlocal foldmethod=syntax

然后必须在语法定义中指定折叠,这是通过提供 fold 来完成的。应该增加折叠级别的区域的参数。引用文档:
The "fold" argument makes the fold level increase by one for this item.
Example:
:syn region myFold start="{" end="}" transparent fold
:syn sync fromstart
:set foldmethod=syntax
This will make each {} block form one fold.

所以你必须进入你关心的任何文件类型的语法文件,并添加 fold参数到适当的区域,或者可能添加您自己的区域。在您的情况下,它看起来与 C/C++ 语法的 fold-by-braces 非常相似,除了括号。

默认的语法文件一般保存在 /usr/share/vim/vimXX/syntax在 Linux 上(大概是 <vim-directory>\vimXX\syntax 在 Windows 上?),其中 XX 是不带句点的版本号(例如 72)。这些可能会在系统范围内被 /usr/share/vim/vimfiles/syntax 中的文件覆盖或按用户按 ~/.vim/syntax 中的文件.

关于oracle - 使用 .vimrc 在 Vim 中自动折叠 Oracle 内联 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com