在vi中快速缩进多行

它应该是微不足道的,甚至可能在帮助中,但我不知道如何导航。 如何在vi中快速缩进多行? vim


#1楼

对我来讲,MacVim(Visual)解决方案是用鼠标选择并按“>”,可是将如下几行放在“〜/ .vimrc”中,由于我喜欢空格而不是制表符: bash

set expandtab
set tabstop=2
set shiftwidth=2

可以从命令行(Terminal.app)调用MacVim也颇有用,所以,因为我具备如下帮助程序目录“〜/ bin”,所以在其中放置了一个名为“ macvim”的脚本: app

#!/usr/bin/env bash
/usr/bin/open -a /Applications/MacPorts/MacVim.app $@

固然在“〜/ .bashrc”中: 学习

export PATH=$PATH:$HOME/bin

MacPorts与“〜/ .profile” 常常发生混乱,所以PATH环境变量可能会变得很长。 spa


#2楼

Vim的UI的优势在于它的一致性。 编辑命令由命令和光标移动组成。 光标移动始终相同: 命令行

  • H到屏幕顶部, L到底部, M到中间
  • n G移至第n行, G单独移至文件底部, g g移至顶部
  • n移至下一个搜索匹配, N移至上一个
  • }至段落结尾
  • %到下一个匹配的括号,括号或标签类型
  • 输入下一行
  • ' x标记x ,其中x是字母或另外一个'
  • 还有更多,包括w和W表示单词, $或0表示行的尖端,等等,这些在这里不适用,由于它们不是行的运动。

所以,为了使用vim,您必须学习移动光标并记住一系列命令,例如>进行缩进( <进行缩进)。 code

所以,要缩进从光标位置到屏幕顶部的行,请执行> H , > G以缩进文件的底部。 ip

若是不是键入> H而是键入d H,那么您将删除同一行块,请替换c H行,以此类推。 ci

某些光标移动更适合特定命令。 特别是, %命令很容易缩进整个HTML或XML块。 若是文件突出显示了语法( :syn on ),则将光标设置在标签文本中(例如,在<div>的“ i”中,而后输入> %将缩进到结束</ div>标签)。 get

这就是Vim的工做方式:仅记住光标移动和命令,以及如何混合它们。 所以,对于这个问题,个人答案是“转到要缩进的行的一端,而后键入>命令,而后移动到该行的另外一端”,若是缩进被解释为移动行, =若是缩进被解释为漂亮印刷。


#3楼

5==将从当前光标位置缩进五行。

所以,您能够在==以前键入任何数字。 它将缩进行数。 这是在命令模式下。

gg=G将从上到下缩进整个文件。


#4楼

作这个:

$vi .vimrc

并添加如下行:

autocmd FileType cpp setlocal expandtab shiftwidth=4 softtabstop=4 cindent

这仅适用于cpp文件。 您能够为其余文件类型执行此操做,也只需修改文件类型...


#5楼

大量使用Python,我发现本身常常须要将块移位多个缩进。 您可使用任何块选择方法来执行此操做,而后只需在>以前输入要跳转的缩进数量便可

例如, V5j3>将缩进五行三遍-若是您将四个空格缩进,则缩进12个空格。

相关文章
相关标签/搜索