learn for vi/vim

what is vi/vim

A text editor. very strong.

命令模式

字符操作

插入

1
2
3
4
:i      # 当前光标的位置插入
:I # 当前光标所在行首插入
:a # 当前字符之后插入
:A # 当前光标所在行末插入

退出

1
:esc    # 退出当前模式

删除

1
2
:x      # 当前光标位置向后删除
:X # 当前光标位置向前删除

撤销

1
:u      # 撤销一步操作(相当于图形编辑器的ctrl+z)

行的操作

1
2
3
4
5
6
7
:home或^    # 移动光标到行首
:end或$ # 移动光标到行末
:dd # 删除一行
:Ndd # 删除N行
:yy # 复制一行
:Nyy # 复制N行
:p # 粘贴内容

词操作

1
2
3
4
5
6
:dw         # 向后删除一个单词(从当前光标开始)
:yw # 向后复制一个单词
:D或d+$ # 删除到行末
:d+^ # 删除到行末
:y+$ # 复制到行末
:y+^ # 复制到行首

v模式

进入v模式 移动光标进入列编辑模式

多行注释

步骤

  1. ctrl+v进入列编辑模式
  2. 向下或者向上移动光标
  3. 把需要注释的行的开头标记起来
  4. 然后按下I
  5. 再插入注释符,如“#”、“//”
  6. 再按下esc退出当前模式,此时就会全部注释选中的行

取消多行注释

步骤

  1. ctrl+v进入列编辑模式
  2. 向上或者向下移动光标
  3. 选中需要取消注释的行
  4. 按下d就会删除注释符号

vim命令行模式

1
2
3
4
5
6
:w      # (write)写文件,相当于保存
:q # (quit)退出
:! # 强制
:wq # 保存退出
:q! # 不保存强制退出
:wq! # 保存强制退出

保存

1
2
:ZZ         # 保存退出
:r+'char' # 快速替换,'char'一个字符

替换

1
2
3
4
:%s/this/that       # 每一行的第一个this被替换成that

:%s/this/that/g # 文本中所有的this都替换成that
:1,11s/this/that/g # 从第1行到第11行的所有this都替换成that

行号

1
2
:set nu     #打开行号
:set nonu #关闭行号

搜索

1
2
3
:/root      # 搜索root,查找到的第一个root高亮,n 向下搜索,N 向上搜索
:noh # 去除高亮显示
:!ls # 调用系统命令ls

vim中定位到某一行

1
2
:gg         # 定位到第一行行首
:G # 定位到最后一行行首

vim打开多个文件

1
2
#vim -O fileone filetwo # 打开两个文件进行编辑
:ctrl+ww # 多个文件间切换
-------------本文结束感谢您的阅读-------------

本文标题:learn for vi/vim

文章作者:FisherCloud/鱼摆摆

发布时间:2019年07月19日 - 12:04

最后更新:2020年03月15日 - 14:38

原始链接:http://fishercloud.tech/2019/07/19/vim/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%