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

在vim中使用C自动缩进空格?

在 Vim 中使用 C 自动缩进空格,您可以使用以下步骤:

  1. 首先,确保您的文本编辑器安装并启用了 Vim 模式。可以在设置中配置这个选项。
  2. 接下来,设置自动缩进(包括制表符)的数量。在这个例子中,我们将使用4个空格(根据您的编程风格而定)。

在您的 ~/.vimrc 配置文件中,添加以下行:

代码语言:txt
复制
set autoindent shiftwidth=4

这将告诉 Vim 在缩进时添加4个空格。

  1. 在 Vim 编辑器中找到您的配置文件,通常是 ~/.vimrc 或 ~/.vim 目录。编辑文件并添加以下内容:
代码语言:txt
复制
set textwidth=80

这将设置 Vim 编辑器中一行文本的最大宽度,用于自动调整缩进。

  1. 最后,编写你的 C 代码,保存并将其载入 Vim 编辑器。这将自动为缩进设置所需的空格(包括制表符)。

这些选项应该可以正常工作,但 Vim 允许根据您所使用的编程风格以及编程语言的不同进行更灵活的缩进设置。

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

相关·内容

vim 语法高亮

1 、配置文件的位置 在文件夹 /etc/ 以下。有个名为vimrc 的文件。这是系统中公共的vim配置文件。对全部用户都有效。而在每一个用户的主文件夹下,都能够自己建立私有的配置文件,命名为:“. vimrc ”。比如。/root文件夹下,通常已经存在一个. vimrc文件。 假设不知道配置文件及脚本的位置,能够在vim中使用命令 :scriptnames 。将显演示样例如以下路径 /etc/vimrc /usr/share/vim/vim72/syntax/syntax.vim /usr/share/vim/vim72/syntax/synload.vim /usr/share/vim/vim72/syntax/syncolor.vim /usr/share/vim/vim72/filetype.vim /usr/share/vim/vim72/ftplugin.vim /home/kdj/.vimrc … 假设不知道vim配置文件的搜索位置。请输入 :version ,将显示 系统vimrc文件:”/etc/vimrc” 用户vimrc文件:”$HOME/.vimrc” 用户exrc文件:”$HOME/.exrc” $VIM预设值:”/usr/share/vim” 2 、设置语法高亮显示 1) 打开vimrc,加入下面语句来使得语法高亮显示: syntax on 2) 假设此时语法还是没有高亮显示,那么在/etc文件夹下的profile文件里加入下面语句: export TERM=xterm-color 3 、设置 Windows 风格的 C/C 自己主动缩进(加入下面 set 语句到 vimrc 中) 1)设置(软)制表符宽度为4: set tabstop=4 set softtabstop=4 2)设置缩进的空格数为4 set shiftwidth=4 3)设置自己主动缩进:即每行的缩进值与上一行相等。使用 noautoindent 取消设置: set autoindent 4)设置 使用 C/C 语言的自己主动缩进方式: set cindent 5)设置C/C 语言的详细缩进方式(以我的windows风格为例): set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s 6)假设想在左側显示文本的行号,能够用下面语句: set nu set roler 设置光标显示 7)最后,假设没有下列语句。就加上吧: if &term==”xterm” set t_Co=8 set t_Sb=^[[4%dm set t_Sf=^[[3%dm endif

03

linux之vi,vim命令

表示当前行的下一行的行尾b按照单词向前移动 字首e按照单词向后移动 字尾w按照单词向后移至次一个字首H移动到屏幕最上 非空白字M移动到屏幕中央 非空白字L移动到屏幕最下 非空白字G移动到文档最后一行gg移动到文档第一行v进入光标模式,配合移动键选中多行Ctrl+f向下翻页Ctrl+b向上翻页u撤销上一次操作``回到上次编辑的位置dw删除这个单词后面的内容dd删除光标当前行dG删除光标后的全部文字d$删除本行光标后面的内容d0删除本行光标前面的内容y复制当前行,会复制换行符yy复制当前行的内容yyp复制当前行到下一行,此复制不会放到剪切板中nyy复制当前开始的 n 行p,P,.粘贴ddp当前行和下一行互换位置J合并行Ctrl+r重复上一次动作Ctrl+z暂停并退出ZZ保存离开xp交换字符后面的交换到前面~更换当前光标位置的大小写,并光标移动到本行右一个位置,直到无法移动

02

vim 开发环境设置(常用)

cat > ~/.vimrc << eof " ~/.vimrc " vim config file " date 2018-07-15 " Created by oldboy " blog:http://www.cnblogs.com/wushuaishuai """"""""""""""""""""" " => 全局配置 """"""""""""""""""""" "关闭兼容模式 set nocompatible "设置历史记录步数 set history=100 "开启相关插件 filetype on filetype plugin on filetype indent on "当文件在外部被修改时,自动更新该文件 set autoread "激活鼠标的使用 set mouse=a """"""""""""""""""""" " => 字体和颜色 """"""""""""""""""""" "开启语法 syntax enable "设置字体 "set guifont=dejaVu\ Sans\ MONO\ 10 " ""设置配色 "colorscheme desert "高亮显示当前行 set cursorline hi cursorline guibg=#00ff00 hi CursorColumn guibg=#00ff00 """"""""""""""""""""" " => 代码折叠功能 by oldboy """"""""""""""""""""" "激活折叠功能 set foldenable "设置按照语法方式折叠(可简写set fdm=XX) "有6种折叠方法: "manual 手工定义折叠 "indent 更多的缩进表示更高级别的折叠 "expr 用表达式来定义折叠 "syntax 用语法高亮来定义折叠 "diff 对没有更改的文本进行折叠 "marker 对文中的标志进行折叠 set foldmethod=manual "设置折叠区域的宽度 "如果不为0,则在屏幕左侧显示一个折叠标识列 "分别用“-”和“+”来表示打开和关闭的折叠。 set foldcolumn=0 "设置折叠层数为3 setlocal foldlevel=3 "设置为自动关闭折叠 set foldclose=all "用空格键来代替zo和zc快捷键实现开关折叠 "zo O-pen a fold (打开折叠) "zc C-lose a fold (关闭折叠) "zf F-old creation (创建折叠) nnoremap <space> @=((foldclosed(line('.')) < 0) 'zc' : 'zo')<CR> """"""""""""""""""""" " => 文字处理 by oldboy """"""""""""""""""""" "使用空格来替换Tab set expandtab "设置所有的Tab和缩进为4个空格 set tabstop=4 "设定 << 和 >> 命令移动时的宽度为4 set shiftwidth=4 "使得按退格键时可以一次删掉4个空格 set softtabstop=4 set smarttab "缩进,自动缩进(继承前一行的缩进) "set autoindent命令关闭自动缩进,是下面配置的缩写。 "可使用autoindent命令的简写,即 “:set ai” 和 “:set noai”。 "还可以使用“ :set ai sw=4”在一个命令中打开缩进并设置缩进级别。 set ai "智能缩进 set si "自动换行 set wrap "设置软宽度 set sw=4 """"""""""""""""""""" " => Vim 界面 by oldboy """"""""""""""""""""" "Turn on WiLd menu set wildmenu "显示标尺 set ruler "设置命令行的高度 set cmdheight=1 "显示行数 "set nu "Do not redraw, when running macros.. lazyredraw set lz "设置退格 set backspace=eol,start,indent "Bbackspace and cursor keys wrap to set whichwrap+=<,>,h,l "Set magic on(设置魔术) set magic "关闭遇到错误时的声音提示 "关闭错误信息响铃 set noerrorbells "关闭使用可视响铃代替呼叫 s

03

python中的ideavim有什么作用_IdeaVim插件施用技巧

IdeaVim插件使用技巧在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件。在这里详细总结一下这个插件在日常编程中的一些常用小技巧。供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考。当然基本的hjkl移动光标和几种常见模式等等基本概念就略过不提了。为了确保只包含常用操作,这里提到的技巧都没有从现成文档里抄,而是凭记忆列出(不常用自然就不记得了)。估计会有所遗漏,慢慢再补充。1. 切换Vim模拟器状态这个插件允许设置一个快捷键一键开启或关闭,在切换模式时会同时自动切换keymap,十分方便。默认键位是Ctrl+Alt+V,但这个键位覆盖了很常用的“抽取局部变量”功能,建议重设,在setting->keymap中查找VIM Emulator即可。由于开启和关闭状态分别使用两套keymap,因此两套都需要设定。可以把两套keymap下的都设为一样的键,也就是用同一个键切换。但个人建议设为不同的键,这样能清楚知道当前处于那种模式中。并且,如果在开启Vim的插入模式下关闭Vim模拟器,下次进入时仍然是插入模式,比较混乱(因为你关闭模拟器就是为了使用默认keymap输入大段代码,重新开启Vim模拟器就是为了使用普通模式下的命令)。因此建议把Vim keymap中的Exit Insert Mode设为与另一个keymap的Vim Emulator相同的键(也就是进入Vim模拟器的快捷键)。例如,我使用的设定是:Default keymap -> Vim Emulator : Ctrl+;     (用Ctrl+分号开启Vim模拟器)Vim keymap -> Vim Emulator : Ctrl+,    (用Ctrl+逗号关闭Vim模拟器)Vim keymap -> Vim Emulator : Ctrl+;    (用Ctrl+分号退出插入模式,进入普通模式)这样,在任何时候只要连按两下ctrl+分号,就能保证必定在Vim模拟器的普通模式中。2. ScrollOff 参数启动Intellij后在Vim模拟器下输入命令 :set so=5 可以令屏幕滚动时在光标上下方保留5行预览代码(也就是光标会在第5行触发向上滚动,或者在倒数第5行触发向下滚动)。在代码窗口比较狭小时(例如单步跟踪调试时)非常方便。可惜仅在Vim模拟器开启时有效。3. 行号定位普通模式下输入 行号G 或 :行号 都能快速定位到某一行。区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。(题外话:Sublime Text 2也是用 :行号 来快速定位到某行,应该是沿用了Vim的习惯)4. 进入修改进入插入模式的方式有很多,直接选用合适的方式进入插入模式比进入后再用箭头键移动光标要好。常用的有:o – 在当前行下方插入新行并自动缩进O – 在当前行上方插入新行并自动缩进 (普通模式下的大写字母命令用 shift+字母键 输入,下同)i – 在当前字符左方开始插入字符a – 在当前字符右方开始插入字符I – 光标移动到行首并进入插入模式A – 光标移动到行尾并进入插入模式s – 删除光标所在字符并进入插入模式S – 删除光标所在行并进入插入模式c – 删除光标所在位置周围某个范围的文本并进入插入模式。关于范围请看第5点,常用的组合有:caw – 删除一个单词包括它后面的空格并开始插入; ciw – 删除一个单词并开始插入; ci” – 删除一个字符串内部文本并开始插入; c$ – 从光标位置删除到行尾并开始插入; ct字符 – 从光标位置删除本行某个字符之前(保留该字符)并开始插入。等等。C – 删除光标位置到行尾的内容并进入插入模式 (相当于c$)r – 修改光标所在字符,然后返回普通模式R – 进入覆盖模式5. 范围操作某些普通模式的动作命令后面可以追加一些表示范围的指令,表示该动作将作用在整个范围上。这类命令常用的有:d – 删除一定范围内的文本c – 删除一定范围内的文本并进入插入模式y – 将范围内的文本放入0号和”号注册栏v – 选择范围内的文本= – 自动缩进范围内的文本gU – 将范围内的字符转换为大写gu – 将范围内的字符转换为小写> – 将范围中的内容缩进一格< – 将范围中的内容取消缩进一格常用的范围指令有:空格 – 光标所在位置字符。(例如 gU空格 – 将光标位置字符转为大写)重复某些动作命令 – 光标所在行。 (例如dd删除一行,yy复制一行,cc删除一行文本并开始插入,>> 当前行缩进一格,==自动缩进当前行)$ – 从光标位置到行尾^ – 从光标位置到行首,不包含缩进空白0 – 从光标位置到行首,包含缩进空白gg – 从光标位置到文件开头G – 从光标位置到文件结尾% – 从光标位置到另一边匹配的括号f – 从光标位置到光标右边某个字符首次出现的位置,包括该字

03

IDEA Intellij小技巧和插件

使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。  1. 重设移动键 方向键和Home/End键离基键太远,经常把手移过去其实很费时。所以建议重设到主键盘上。考虑到后面会提到的IdeaVim插件,所以最好使用类似Vim的方案。我个人的设定是:  Ctrl+H  ←  Ctrl+J  ↓  Ctrl+K  ↑  Ctrl+L  →  Ctrl+A  End (Vim中Shift+A是在行尾插入)  Ctrl+I  Home (Vim中Shift+I是在行首插入)  被冲掉的原本的快捷键可以设到Alt上(最常用的Ctrl+A全选和Ctrl+J Live Template)。当然你也可以把移动键设在Alt上,不过使用标准键盘时,左Ctrl可以用手掌来按(使用emacs的必备技能),非常方便。所以我个人喜欢把常用操作设到Ctrl上。  2. 好用的Select Word at Caret快捷键 在IDEA的Keymap中有Select Word at Caret这个动作,字面意思是“选中光标所在的单词”,默认快捷键是Ctrl+W。但事实上,这个动作的实际操作是选中更上一层的语法结构。例如,如果你在一个字符串的一个单词中,按一下Ctrl+W,会选中光标所在单词。再按一下,会选中整个字符串的内容,不包括引号。再按一下,会选中包括引号的字符串。再按一下,会选中整个表达式(如果表达式含有括号,会逐层选中)。再按一下,会选中整个语句块。再按一下,会选中整个方法。再按一下,会选中整个类。  3. Ace Jump插件 可以说Ace Jump和IdeaVim这两个插件是我使用了Intellij后再也不想用eclipse的最主要原因。Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会跳转到这个字符上。这种跳转方式非常实用,你根本不用管当前光标在什么位置,眼睛只需要盯着需要跳转到的位置,最多三四下按键就能准确把光标定位,开始编辑。按道理这种功能非常容易实现,但偏偏到目前为止我没有在eclipse上找到类似插件。  安装与使用:  在Intellij的Setting -> Plugins -> Browse repositories中查找acejump,可以找到两个插件,AceJump和emacsIDEAs。AceJump是最纯正的Ace Jump插件,功能单一,也比较稳定,但我个人感觉没有emacsIDEAs好用。两者最大的差异是,Ace Jump是先按键调出跳转标记,再通过不同功能键(Ctrl,Shift,Alt等)配合书签按键追加额外功能(例如从当前位置选中文本至书签位置)。而emacsIDEAs是使用不同的快捷键进入不同的功能模式(例如跳转到字符,跳转到单词,选中到标签等)同时调出书签标记,然后再按书签按钮实现跳转。感觉emacsIDEAs的方式比较符合我的思维习惯。  如果选择了AceJump插件,重启Intellij后即可使用,默认快捷键是Ctrl+;(分号)。但我习惯将它重设到Alt+K。下面是使用AceJump的效果

01
领券