linux中vi大括号enter缩进,格式 – 如何在vi中对齐代码(大括号,括号等)?
我的答案中的这些命令在vim中工作。大多数认为他们正在使用vi的人正在使用vim。要确定你的’vi’是否真的是’vim’,打开vi并键入:version – 如果是vim,它会这样说。否则,您可能只看到没有程序名称的版本号。此外,当您第一次打开vim时,您通常会看到一些“VIM – VI iMproved”的启动屏幕。
自动缩进
要打开自动缩进功能,请确保vim知道您正在编辑的文件类型(它通常会从文件扩展名自动检测到,但可能无法使用某些文件类型)。您可以使用菜单对其进行语法突出显示。然后,这样做:
:filetype indent on
您可以禁用自动缩进
:filetype indent off
自动调整/修正缩进
一般来说,= {motion}将代码缩进到缩进级别。
> ==对齐当前行
> = i {对齐内部块
> =%对齐到光标下的匹配括号/括号
> = 14j或14 ==对齐接下来的14行
> = G对齐到文件的末尾
> vG =相同的东西,对齐到最后
文件(但使用可视化模式)
> vjjj =对齐四行(使用可视化模式)
手动缩进
如果vim没有正确地猜测缩进级别,可以通过两种方法来改变它:
>如果您处于正常模式(其中所有内容都是命令),请执行<>>将其右移一个选项卡。您可以通过使用上面显示的相同的运动命令(例如> i {缩进当前的内部代码块),通过几行执行此操作。
>如果您处于插入模式,则可以通过执行Ctrl-T进一步缩进行(不移动光标),或者使用Ctrl-D取消缩进一个选项卡
对齐等于标志等
调整缩进/标签尺寸
如果您希望vim在缩进时使用空格而不是制表符,请运行此命令(或者考虑将其添加到您的vimrc文件)
:set expandtab
要设置多少空格等于一个选项卡,我通常这样做:
:set expandtab softtabstop=3 tabstop=3 shiftwidth=3
> tabstop – 选项卡计数的列数(影响现有制表符字符的显示)
> shiftwidth – 使用<,以及其他命令。
> softtabstop – 按Tab键可插入多少空间
> expandtab – 将选项卡键扩展到空格
但是,如果您必须使用不同数量的选项卡,您还可以使用此功能和键盘绑定:
function! Ktabs(tabsize)
execute "set softtabstop=" . a:tabsize . " tabstop=" . a:tabsize . " expandtab shiftwidth=" . a:tabsize
"set softtabstop=a:tabsize tabstop=a:tabsize expandtab shiftwidth=a:tabsize
endfunction
noremap :call Ktabs(3)
如果要使用选项卡和空格的混合编辑文件,则可能需要在设置选项卡大小后使用此命令:
:retab
linux中vi大括号enter缩进,格式 – 如何在vi中对齐代码(大括号,括号等)?相关推荐
- matlab中10的负几次方怎么表示,matlab中e负2次方 数学中2e-01T表示什么含义,如何在MATLAB中实现?...
数学中2e-01T表示什么含义,如何在MATLAB中实现? 这个简单啊,就是E是弹模,v是泊松比,2.63e-2指的是2.63乘以10的-2次方,T估计指的是温度吧 请问matlab里面exp函数怎么 ...
- ue怎么转换html格式,如何在UltraEdit中预览HTML代码?
原标题:如何在UltraEdit中预览HTML代码? UltraEdit是一款功能非常强大的文本编辑器,可以进行文本编辑.十六进制处理.ASCII码转换等,是系统自带记事本的优秀替代品. 图1:UE软 ...
- word中 有注释标签吗_如何在Word中注释图像
word中 有注释标签吗 If you're writing a document that includes images, you may want to add annotations to t ...
- python中2d_【IT专家】如何在Python中复制一个2D数组?(复制)
本文由我司收集整编,推荐下载,如有疑问,请与我司联系 如何在 Python 中复制一个 2D 数组? ( 复制 ) 如何在 Python 中复制一个 2D 数组 ?( 复制 )[ 英 ]How to ...
- python中none是什么类型_如何在Python中”测试”None类型?
我有一个方法,它有时返回一个非类型的值.那么我怎样才能质疑一个非类型的变量呢?例如,我需要使用if方法 if not new: new = '#' 我知道这是错误的方式,我希望你理解我的意思. 我想这 ...
- cmd中加载java源文件_如何在cmd中编译和运行java源文件
如何在cmd中编译和运行java源文件 首先写一个名为HelloWorld.java的java源文件,存储在如C:/java/src的地址,我们再假设待会要存储的位置是C:/java/bin,则我们做 ...
- php oracle 操作 sql语句中能不能添加数组_如何在PHP中使用Oracle数据库_php
在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库. PHP提供了2大类API(应用程序接口 ...
- java中md5加密和解密_如何在java中实现md5加密和解密
如何在java中实现md5加密和解密 关注:273 答案:1 mip版 解决时间 2021-01-19 20:37 提问者精神疯裂 2021-01-19 05:36 如何在java中实现md5加密 ...
- android中fragment如何保存edittext文本,如何在Android中使用DialogFragment进行文本输入?...
我想获得一个值,用户输入到一个对话框,使用建议的DialogFragment类为它,对话框构造和运行良好,但我不能返回EditText参数的值父类,没有得到一个空值指针异常.如何在Android中使用 ...
最新文章
- [转]CSS3 transform顺序问题
- (三)页面之间的参数传递
- 使用分支限界法解决单源最短路径问题。
- 线程下的udp和tcp局域网聊天
- java移动端接口测试_走进Java接口测试之测试框架TestNG数据驱动(入门篇)
- 谈一下关于CQRS架构如何实现高性能
- c#获取应用程序路径的方法
- 【参赛作品19】【openGauss】gsql客户端工具(二)gsql客户端工具之Data Studio客户端工具
- Globle Get 多线程下载系统
- 利用mybatis插件开发动态更改sql
- Access操作必须使用一个可更新的查询
- crm登录系统是什么系统?
- C#中如何调出工具箱
- Java8 effectively final
- 这可能是最全最好的BLAST教程
- 全面理解Web3.0时代
- linux ln -s
- model(**inputs)备忘
- 创意发明:带分频整形的单片机频率计(1Hz—20MHz)源程序,仿真与设计论文等全套资料
- 网络支付结算{网银、第三方支付、超级网银}
热门文章
- Mysql函数示例(如何定义输入变量与返回值)
- Mysql select into outfile NULL值导出的处理方法
- java filereader 示例_J04-Java IO流总结四 《 FileReader和FileWriter 》
- sql 问号的使用 php_PHP中bindParam和bindValue的区别
- Linux驱动设计之信号量
- tf.gather( )的详细解析
- Python 的装饰器执行顺序问题(二)
- Zend Studio 0x80070666错误解决
- 第三章 使用Servlet处理HTTP响应
- centos 6.3 x86_64安装32位JDK的问题