Linux環境下,“記事本工具”通常指文本編輯器(如Vim、VSCode、Emacs、Geany等),以下是幾款主流工具實現代碼折疊的具體方式:
Vim作為Linux下經典的文本編輯器,支持通過語法高亮實現代碼折疊,操作步驟如下:
:set foldmethod=syntax
(根據語法規則折疊,適用于大多數編程語言);若需按縮進折疊,可改為:set foldmethod=indent
。za
:切換當前光標所在代碼塊的折疊/展開狀態;zo
:展開當前代碼塊;zc
:折疊當前代碼塊;zr
:減少折疊層級(展開一層);zm
:增加折疊層級(折疊一層);zR
:展開所有折疊;zM
:折疊所有代碼塊。python
模式,可通過:set filetype=python
命令),以便Vim識別語法結構。VSCode作為跨平臺輕量級編輯器,提供直觀的代碼折疊功能,支持手動與自動折疊:
Ctrl+Shift+[
(折疊當前光標所在代碼塊)、Ctrl+Shift+]
(展開當前代碼塊);Ctrl+K Ctrl+0
(折疊所有代碼塊)、Ctrl+K Ctrl+J
(展開所有代碼塊)。Ctrl+,
),搜索“folding”可調整:
editor.foldingStrategy
:選擇折疊策略(auto
自動識別語法、indentation
按縮進折疊);editor.showFoldingControls
:始終顯示折疊控件(默認僅在懸停時顯示);editor.foldingImportsByDefault
:默認折疊導入語句。//#region 描述
和//#endregion
,Python用#region 描述
和#endregion
),折疊后點擊區域左側箭頭即可展開/折疊。Emacs作為高度可定制的編輯器,需通過插件實現便捷的代碼折疊,常用插件為hideshow
(內置)和origami.el
(第三方):
~/.emacs
或~/.emacs.d/init.el
)中添加(add-hook 'prog-mode-hook 'hs-minor-mode)
(為所有編程模式啟用);C-c @ C-c
(切換當前代碼塊的折疊/展開)、C-c @ C-e
(展開所有折疊)、C-c @ C-s
(顯示折疊區域概覽)。M-x package-install RET origami RET
);(global-origami-mode 1)
到配置文件(全局啟用);C-c @ C-f
(折疊當前光標下的代碼塊)、C-c @ C-o
(展開當前代碼塊)、C-c *
(展開/折疊所有代碼塊)。origami.el
支持更靈活的折疊方式(如遞歸折疊、自定義折疊規則),且與Emacs原生命令兼容。Geany作為Linux下的輕量級IDE,內置代碼折疊功能,適合快速編輯代碼:
Ctrl+Shift+[
(折疊當前代碼塊)、Ctrl+Shift+]
(展開當前代碼塊);工具→首選項→編輯器→代碼折疊
,可調整折疊策略(如按語法、按縮進)。以上工具均能滿足Linux環境下代碼折疊的需求,選擇時可根據個人習慣(如是否偏好終端/圖形界面)、功能需求(如是否需要自定義折疊規則)決定。