VIM入门学习

VIM快速入门

详情可参考:【教程】Vim 快速入门

目录

  1. VIM模式
  2. 移动光标(普通模式)
  3. 删除、撤销和恢复命令
  4. 粘贴、替换和修改命令
  5. 文件信息、跳转和匹配括号
  6. 搜索命令和替换命令
  7. 执行shell命令、文件另存和合并文件

VIM模式

  • VIM模式
    基本模式 普通模式、插入模式、可视模式、选择模式、命令行模式和Ex模式
    派生模式 操作符等待模式、插入普通模式、插入可视模式、插入选择模式和替换模式

  • 普通模式:输入【vi 文件名】即可进入VIM普通模式
  • 插入模式:在进入普通模式后,键入小写【i】即可进入插入模式
    补充
    进入插入模式的各种方法:
    【i】:在光标的前边进入插入模式
    【I】:在光标所在行的行首进入插入模式
    【a】:在光标的后边进入插入模式
    【A】:在光标所在行的行尾进入插入模式
    【o】:在光标所在行的下方插入空行并进入插入模式
    【O】:在光标所在行的上方插入空行并进入插入模式
    【s】:删除光标指定的字符并进入插入模式
    【S】:将光标所在行清除并进入插入模式

  • 退出插入模式返回普通模式:输入【Esc】 键即可
  • 从普通模式退出VIM:
    键入【:q!】:强制退出文件,同时不保存修改
    键入【:wq】:退出文件,同时保存修改
    键入【shift+ZZ】:效果同上

移动光标(普通模式)

  • 如图所示为hjkl四个按键代表的移动方向(左下上右)
    k
h       l
    j
  • 补充 motion( 表示操作范围的指令 ),具体的motion代表键如下:
    【0】:将光标定位到行首的位置
    【^】:效果同上
    【$】:将光标定位到行尾的位置
    【b】:将光标定位到光标所在单词的起始处
    【e】:将光标定位到光标所在单词的结尾处
    【w】:将光标定位到下一个单词的起始处
    【gg】:将光标定位到文件的开头
    【G】:将光标定位到文件的末尾

  • 数字的奥义:单纯输入hjkl,移动的是单个字符位;当需要移动多个字符位时,可以键入【数字+h/j/k/l】来移动多个位置,如 10h 表示向前移动10个字符位

删除、撤销和恢复命令

  • 删除命令
    插入模式下通过移动光标,外加delete键进行文本删除
    普通模式下进行文件删除:
    键入【x】:删除单一字符;键入【d+motion】:删除更多字符
    普通模式删除内容
    【数字+motion】=重复多个motion
    【d+数字+motion】=删除多个motion范围

    补充内容:更多删除命令
    【d0】:删除光标从当前位置(不包含)到该行行首的所有字符
    【d^】:效果同上
    【d$】:删除从光标当前位置(包含)到该行行尾的所有字符
    【db】:删除从光标当前位置(不包含)到单词起始处的所有字符
    【de】:删除从光标当前位置(包含)到单词结尾处的所有字符
    【dw】:删除从光标当前位置(包含)到下个单词起始处的所有字符
    【dh】:删除光标前边一个字符
    【dl】:删除光标指定的字符
    【dj】:删除光标所在行以及下一行的所有字符
    【dk】:删除光标所在行以及上一行的所有字符
    【dd】:删除光标所在行的字符
    【dgg】:删除光标所在行到文件开头的所有字符
    【dG】:删除光标所在行到文件末尾的所有字符

  • 撤销和恢复命令
    键入【u】:撤销最后一次修改
    键入【U】:撤销对整行的修改
    键入 【Ctrl+r】:恢复撤销的内容
    注意 以上的”删除“操作并不是真的删除,实际上是将”删除的内容“放入VIM的一个缓冲区中,相当于Windows的剪切功能

粘贴、替换和修改命令

  • 粘贴命令
    使用【p】命令可以将最后一次删除的内容粘贴到光标之后
    使用【P】 命令可以将最后一次删除的内容粘贴到光标之前
    注意
    如果需要粘贴的是整行为单位,那么【p】命令将在光标的下一行开始粘贴
    如果拷贝的是非整行的局部字符串,那么【p】命令将在光标后开始粘贴

  • 拷贝命令
    普通模式拷贝内容
    【y+数字+motion】= 删除多个motion范围(数字为可选)

  • 替换命令
    【r】命令用于替换光标所在的字符,做法是先将光标移动到需要替换的字符处,按一下【r】键,然后输入【新的字符】即可;而在键入r命令前输入【数字】,表示从光标处开始,将多个字符统一替换为新字符
    【R】命令将一步到位进入替换模式,输入多少字符就会替换多少字符;而如果此时采用【退格键】,将会恢复替换前的字符,退格键几次即恢复几个字符

  • 修改命令
    注意 修改会进入插入模式,而替换不会进入插入模式
    【c+数字+motion】= 修改多个motion范围(数字为可选)

文件信息、跳转和匹配括号

  • 文件信息
    键入【ctrl+g】:查看文件信息

  • 跳转
    键入【行号+G】:跳转到指定的行号
    键入【:行号】:效果同上

  • 匹配括号
    键入【%】:快速匹配到指定括号的另一半
    具体操作:将光标定位到小括号、中括号或者大括号的一半,键入【%】即可快速匹配括号的另一半

  • 缩进:自动缩进
    【数字+>>】:实现多行同步缩进
    【数字+<<】:实现多行同步反缩进

搜索命令和替换命令

  • 搜索命令
    键入【 /+关键词 】:搜索关键词,方向从 光标开始向后;再键入【n】向后搜索下一个相同关键词 (键入【N】向前搜索下一个相同关键词)
    输入【?+关键词】:搜索关键词,方向从 光标开始向前 ;再键入【n】向前搜索下一个相同关键词 (键入【N】向后搜索下一个相同关键词)
    补充:
    去除文本高亮,键入【:nohl】即可
    不可以直接搜索的字符:【.】、【 *】、【[】、【]】、【^】、【%】、【/】、【?】、【~】和【$】(如果搜索,需要另外再键入【 】)

  • 替换命令(区别于之前所讲的r/R命令,此命令是替换相同关键词
    键入【:s/原字符/替换字符】:将光标定位到指定位置,将原字符替换为替换字符
    键入【:s/原字符/替换字符/g】:将整行的原字符替换为替换字符
    键入【:%s/原字符/替换字符/g】:将整个文档的原字符替换为替换字符
    键入【:%s/原字符/替换字符/gc】:效果同上,区别在于每次替换前会提示
    键入【:行号1,行号2s/原字符/替换字符/g】:将行号1~行号2之间的所有原字符替换为替换字符

执行shell命令、文件另存和合并文件

  • 执行shell命令
    键入【:!+shell命令】:执行文件以外的shell命令,执行完毕键入【Enter】即可返回VIM

  • 文件另存
    键入【:w 新文件名】:将整个文件另存为新的文件

  • 局部另存为
  1. 先进入可视模式:键入【v】即可进入
  2. 键入【:w 新文件名】:将选中的文本另存为新的文件
  3. 键入【:w! 文件名】:覆盖所输入文件名的文件内容
  • 合并文件
    键入【:r 文件名】:将所输入文件名的文件内容读取到目前编辑中的文件

  • 打开多个文件
    输入【vi -o 文件名1 文件名2 文件名3】:垂直并排打开文件1、文件2、文件3,光标默认在第一个文件中
    输入【vi -O 文件名1 文件名2 文件名3】:水平并排打开文件1、文件2、文件3
    输入【ctrl+w+w】:将光标切换到下一个文件
    输入【ctrl+w+上/下】:是垂直并排文件的上、下文件切换
    输入【ctrl+w+左/右】:是水平并排文件的左、右文件切换
    键入【:qa】:表示同时退出全部文件(未做修改的情况下)
    键入【:wqa】:表示保存修改,并退出所有文件
    键入【:qa!】:表示不保存修改,直接退出所有文件

尾声:以上仅是Vim入门知识,但个人感觉,如果基本掌握了,应该足以很好地使用Vim了吧

猜你喜欢

转载自www.cnblogs.com/codeplayer1999/p/12316090.html
今日推荐