VIM学习笔记

Vim的三种模式:

  • 命令模式:可以移动光标、删除字符等(ESC)
  • 编辑模式:在此模式下可以输入字符,按ESC将回到命令模式((光标左边插入)i/s(删除光标当前字符并插入)/a(光标右边插入))
  • 末行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)(:wq/:x/:q!)

重装vim

1
2
sudo apt-get remove vim-common
sudo apt-get install vim

配置vim

1
2
3
4
5
6
7
8
9
vim /etc/vim/vimrc
# 显示行号
set nu  
# 语法高亮
syntax on  
# tab退四格
set tabstop=4  
# 取消显示行号
set nonu 

打开文件、保存、关闭文件(vi命令模式下使用)

  • vi filename //打开filename文件
  • :w //保存文件
  • :q //退出编辑器,如果文件已修改请使用下面的命令
  • :q! //退出编辑器,且不保存
  • :wq //退出编辑器,且保存文件 插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)
  • a //在当前光标位置的右边添加文本
  • i //在当前光标位置的左边添加文本
  • A //在当前行的末尾位置添加文本
  • I //在当前行的开始处添加文本(非空字符的行首)
  • o //在当前行的下面新建一行
  • O //在当前行的上面新建一行
  • r //替换当前字符
  • R //替换(覆盖)当前光标位置及后面的若干文本
  • J //合并光标所在行及下一行为一行(依然在命令模式) 删除、恢复字符或行(vi命令模式下使用)
  • x //删除光标当前字符
  • X //删除光标前一个字符
  • nx //删除从光标开始的n个字符
  • dd //删除当前行
  • D/dw //删除光标后的本行内容
  • d0 //删除光标前的本行内容
  • ndd //向下删除当前行在内的n行(n表示行数)
  • u //撤销上一步操作
  • U //撤销对当前行的所有操作
  • Ctrl+r //反撤销
  • . //重复执行上一条操作指令
  • ”»” //文本向右移动4个空格(1个tab)
  • ”«” //文本向左移动4个空格(1个tab) 复制、粘贴(vi命令模式下使用)
  • yy //将当前行复制到缓存区
  • nyy //将当前行向下n行复制到缓冲区
  • yw //复制从光标开始到词尾的字符
  • nyw //复制从光标开始的n个单词
  • y^ //复制从光标到行首的内容
  • y$ //复制从光标到行尾的内容
  • p //粘贴剪切板里的内容在光标后
  • P(大写) //粘贴剪切板里的内容在光标前
  • dd //剪切(如果不使用p剪切就表示删除)
  • v //按字符移动,多行选中(使用上下左右)
  • V //按行移动 查找功能
  • / //查找
  • n //下一个
  • N //上一个 替换动能(末行模式下):s///g 原则
  • 替换内容区域 / 被替换内容 / 替换内容 /g
    • 例如:替换整个文件中的print替换成print()
    • :%s/print/print()/g
    • %:表示整篇文档中的内容,可以换成指定行数之间更改
    • 例如:把10行到20行中的所有的a换成A
  • :10,20s/a/A/g
  • 代码缩进(末行模式下) 起始行,截止行>(一个>表示一个tab)
    • 例如:
      • :10,20>
      • :21,25»»>
      • :20,25«<
  • vim编辑器下执行shell命令(末行模式下)
  • :!sudo apt-get install gedit
  • 命令模式下上下左右移动光标:
    • k:上
    • j:下
    • h:左
    • l:右
  • 快速定位到某一行:
    • 命令模式下)行号+G

今日诗词

作者信息