jsy*_*lon 11 linux indentation
我有一个混合使用空格和制表符的大型 shell 脚本。我想根据语法重新缩进整个文件,比如 Eclipse 的格式。有没有程序(美化?)可以做到这一点?
我很难弄清楚所有东西都挤在一起的逻辑,例如
if [ "$CANCELLATION" ]
then
while test $num -gt 0
do
if [ "$cjb" -gt 0 ]
Run Code Online (Sandbox Code Playgroud)
学习了如何在 Vim 中调用函数,但这不起作用。
Emacs - 丢失了所有换行符
Gru*_*bel 13
Emacs 可以做到:
untabify
,然后returnindent-region
,然后return这将摆脱制表符并正确缩进所有内容。
如果您需要更频繁地执行此操作并且不使用 Emacs 作为您的编辑器,您可能希望将其全部打包到一个脚本中:
#!/usr/bin/emacs --script
(setq require-final-newline 'visit)
(defun indent-files (files)
(cond (files
(find-file (car files))
(untabify (point-min) (point-max))
(indent-region (point-min) (point-max))
(save-buffer)
(kill-buffer)
(indent-files (cdr files)))))
(indent-files command-line-args-left)
;; EOF ;;
Run Code Online (Sandbox Code Playgroud)
在 Vi/Vim 中,一旦您设置了正确的文件语法 ( :set syntax=sh
),您可以按:gg=G(或1G=G) 来更正整个文件的缩进。
这是就地格式化整个文件的命令:
ex +"set syn=sh" +"norm gg=G" -cwq foobar.sh
Run Code Online (Sandbox Code Playgroud)
注意:在运行上述命令之前进行备份。
为了测试在Vim的第一格式,编辑文件并运行::norm gg=G
。
另见:在 Vi SE重新缩进严重缩进的代码
归档时间: |
|
查看次数: |
28480 次 |
最近记录: |