VIM的两种状态

  • vim分为两种状态:命令状态和编辑状态
  • 在命令状态下,所键入的字符均作为命令来处理;而在编辑状态下,则可以编辑文本资料
  • 当你进入vim时,会首先进入命令状态
  • 在命令状态下,按”i”或”a”可以进入编辑状态;在编辑状态下,按ESC键可以进入命令状态
  • 在命令状态下,有如下一些常用命令:

    • a:从光标后面开始添加文本
    • A:从光标所在行的末尾开始添加文本
    • i:在光标前面开始添加文本
    • I:从光标所在行的开始处开始添加文本

      常用的命令操作

      删除和修改

  • x:删除光标处的字符

  • dd:删除光标所在的整行
  • 3dd:删除光标所在的整行以及下面的两行
  • D:删除光标到行尾的文本,常用于删除注释语句
  • yy:复制光标所在的整行
  • [n]yy:从光标开始往下复制n行
  • p:将复制后的文本粘贴到光标处
  • u:撤销上次操作
  • 注意:先dd再p的效果就是剪切的效果

    光标移动

  • ^:光标移动到行首

  • $:光标移动到行尾
  • gg:光标移动到文档头
  • G:光标移动到文档尾
  • [n]G:光标移动到第n行行首,也可以用”:n”移动到第n行

    查找和替换

  • /[str]:查找字符串str,回车后会加亮显示所有找到的字符串,接着使用命令n移动到下一个找到的字符串,使用命令N移动到上一个找到的字符串

  • 部分替换:只能替换光标所在的行
    • :s/[src]/[dst]/i(忽略大小写)/g(全部匹配)
    • 注意:如果不加g只替换在该行匹配的第一处,加了g就替换该行所有的匹配处
    • 举例::s/hello/world/ig(替换一行)、:3,6s/hello/world/g(在3-6行中找)
  • 全部替换

    • :%s/[src]/[dst]/g
    • 举例::%s/^ //g(将文档每一行的行首的空格去掉)

      块操作

  • v:进入可视化块选择状态,选中块之后,可以通过d(删除)、y(复制)、x(剪切)对块进行操作

  • 用于批量注释代码的操作

    1. 首先按ctrl+v,竖选选中要注释的行
    2. 输入I(大写的I),然后输入//
    3. 再输入esc,就会看到选中的行被注释了

      文档保存和退出

  • 结束编辑

    • :q 在未修改文档的情况下退出
    • :q! 放弃文档的修改,强制退出
    • :w 文档存盘
    • :wq 文档存盘并退出,等价于:x
    • :wq! 文档存盘并强制退出,忽略只读限制
  • 在命令模式下输入 :new 2.c,表示再横向打开一个vim;在命令模式下输入 :vnew 2.c,表示再纵向打开一个vim
  • 在命令模式下输入 :sp,表示再横向打开同一个文件的vim,在命令模式下输入 :vsp,表示再纵向打开同一个文件的vim
  • 两个窗口之间进行切换的方式:Ctrl+w,w
  • 注意:如果在编辑过程中不小心按了Ctrl+s,vim会处于僵死状态,按Ctrl+q可以恢复

    给VIM增加配置文件

  1. vim ~/.vimrc
  2. 往里边添加下面4行

    1. set nu
    2. set cursorline
    3. set hlsearch
    4. set tabstop=4

      修改环境变量

      以qscp为例
  3. mkdir ~/bin创建bin目录

  4. 把qscp放到bin目录中
  5. vim ~/.bashrc进入编辑页面
  6. 在编辑页面最后面添加语句:export PATH=$PATH:~/bin
  7. 执行source ~/.bashrc令修改的环境变量生效
  8. echo $PATH即可查看环境变量已修改