vim常用指令

vim 常用指令,从用户版本7.4中摘取部分常用功能,详细功能可到官方网址下载

1 移动光标
    h :左
    j :下
    k :上
    l :右

2 删除
    删除一个字符:光标移动到字符上,输入"x",输入几次,删除几个。
    删除一行:使用"dd",后一行会移上填掉留下的空行。
    删除换行符:使用"J"(大写),把当前行和下一行连起来。
    
3 撤销与重做
    撤销:使用"u",撤销最后一个删除操作,多次使用,依次撤销。(no compatible)
    重做:CTRL-R, 回退前一个撤销,多次使用,依次撤销
          "U" 行撤销,撤销所有在最近编辑的行上的操作。
          
4 添加
    "i", 在光标所在字符前面插入字符
    "a", 在光标所在字符后面插入字符

5 开始一个新行
    "o"(小写),光标下方建立一个新行,并切换到插入模式
    "O"(大写),光标上方建立一个新行,并切换到插入模式
    
6 指定计数
    在命令前加一个数字:把命令执行n次,如“9k”:向上移动9行,“3a!”:在光标所在字符后面增加3个!,“3x”:删除3个字符
    
7 退出
    "ZZ":保存文件并退出,等同于 wq
    ":e!":放弃修改,重新编辑,相当于:q!后,再重新打开
    
8 寻求帮助
    ":help": :help {主题}
    
9 词移动
    "w" 移动光标到后一个单词的词首
    "b" 移动光标到前一个单词的词首
    "e" 移动光标到后一个单词的词末
    "ge"移动光标到前一个单词的词末
    
10 字符串移动(以空白字符分隔)
    "W" 移动光标到后一个字符串的词首
    "B" 移动光标到前一个字符串的词首
    "E" 移动光标到后一个字符串的词末
    "gE"移动光标到前一个字符串的词末    
    
11 移动到行首或行尾或某个位置
    "$" 移动光标到行尾
    "^" 移动光标到一行的第一个非空字符
    "0" 移动光标到一行的第一个字符
    "%" %50移动到中间位置
    
13 移动到一个指定的字符(用<Esc>可取消操作)
    "fx" 向右查找本行中的字符x
    "Fx" 向左查找本行中的字符x
    "tx" 向右查找,把光标移动到目标字符的前一个字符
    "Tx" 向左查找,把光标移动到目标字符的后一个字符
    
14 括号匹配 适用 (), [], {}
    "%" 当光标不在一个有用字符上时,会正向查找到一个,若已经在时,会移动到匹配的另一个字符上。
    
15 确定当前位置
    ctrl-G
    
16 在文本中查找一个单词
    把光标移动到某个单词下面,使用"*"命令,会把单词当作被查找的字符串,使用"#"命名,反向查找
    
17 查找整个单词
    例:只查找"the"结尾的单词,可以用"/the\>","\>"是一个特殊记号,表示匹配单词的末尾;类似的“\<”表示匹配单词的开头,如"/\<the"
    
18 简单的查找模式
    行首与行尾:"^"匹配行首,"$"匹配行尾,如"^include"仅匹配一行开始的include,如"was$"仅匹配行尾的was。如"^the$"仅匹配仅有the的这一行
    匹配任何单个字符:"."匹配任何字符,如"c.m"匹配com,cam之类的单词
    匹配特殊字符:匹配特殊字符, 加一个反斜杠消除它的特殊含义,如"ter\."
    
19 移动文本
    用"d","x"删除的文本,会被存起来,可以用p重新粘帖
    
20 拷贝文本,输完指令,需要按p粘贴
    "yw":拷贝单词,"y2w":拷贝两个单词, 包括空格, "ye":不包括空格
    "yy","Y":拷贝一整行
    "y$":拷贝到行尾
    
21 替换模式
    "R"启动替换模式,输入的每个字符都会覆盖当前光标上的字符
    
22 分割窗口
    :split 打开新窗口
    :ctrl-w 在窗口间跳转
    :close 关闭窗口
    :only 关闭其他所有窗口
    :split two.c 打开另一个窗口,并用该窗口编辑另一个指定的文件
    :new 打开窗口编辑一个新文件
    扩大(缩小)窗口:ctrl-w +,如"4 ctrl-w +",扩大四行,"4 ctrl-w -"缩小四行
    :vsplit 垂直分割

23 窗口间跳转
    CTRL-W h 跳转到左边的窗口
    CTRL-W j 跳转到下边的窗口
    CTRL-W k 跳转到上边的窗口
    CTRL-W l 跳转到右边的窗口
    CTRL-W t 跳转到最顶上的窗口
    CTRL-W b 跳转到最底下的窗口
    
24 移动窗口
    CTRL-W K 把当前窗口移到最上面
    CTRL-W H 把当前窗口移到最左边
    CTRL-W J 把当前窗口移到最下边
    CTRL-W L 把当前窗口移到最右边
    
25 对所有窗口执行命令
    :qall 关闭所有窗口
    :wall 保存所有窗口
    :wqall 关闭并保存所有窗口
    :qall! 强制退出所有窗口
    vim -o one.txt two.txt three.txt 为每个文件打开一个窗口 -o 用于垂直分割窗口
    
26 vim 比较文件差异
    vimdiff main.c~ main.c 用垂直分割的方式打开两个文件
    
    :edit main.c
    :vertical diffsplit main.c~
    :vertical 窗口用垂直的方式分割,不写用水平方式
    
    :edit main.c
    :vertical diffpatch main.c diff
    如果有一个当前文件的补丁或者patch,先编辑这个文件,然后告诉vim的补丁文件名称
    
    :set noscrollbind 滚动绑定
    
    :diffupate 更新高亮显示,从一个窗口移到另一个,更新高亮显示
    :dp 消除差异,把一个高亮显示的块,从一个移动到另一个窗口,在另一个窗口执行
    :do 需要继续学习,测试失败
    
27 命令行编辑
    删除:CTRL-W 删除一个字符  /the fine pig -> /the fine; CTRL-U删除命令行全部文字
    替换:<insert>切换插入字符和替换字符
    取消:CTRL-C或<ESC>
    
28 命令行窗口
    打开命令行历史记录: q:
    
29 更正
    删除:CTRL-W 删除一个字符  /the fine pig -> /the fine; CTRL-U删除光标前全部文字,后面保留
    
30 显示匹配: :set showmatch  :set matchtime=15 在匹配括号上面停留1.5秒

31 缩进:  :set shiftwidth=4 四个空格

32 设置制表位  :set softtabstop=4  <tab>键插入四个空格的缩进量

其他常用设置:

1 :set number 在每行前面加行号 :set nonumber 在每行前面去行号
2 :set ruler 在右下角显示光标位置
3 :set ignorecase 查找时,忽略大小写  :set noignorecase 查找时,撤销忽略大小写

4 历史记录 输入"/"启动查找,按<UP>,会显示之前查找的关键字,按<DOWN>,反之
5 :set hlsearch 查找时,高亮所有匹配的地方, :set nohlsearch  , :nohlsearch 关闭本次高亮显示
6 :set incsearch 在输入的过程中,就显示匹配点
7 :set nowrapscan 使得找到文件结尾后停止查找,默认打开
8 :scriptnames 确定vim的启动文件位置

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值