VIM的三种模式
一般模式((Normal-mode)),插入模式(Insert-mode),命令模式(Command-mode)。由于vim为全键盘工作且指令区大小写,所以使用逻辑与windows略有不同。
- 一般模式:
通过vim直接打开文件后,处于一般模式,也是vim的常规状态。该模式下,可以进行移动光标,删除文字,复制粘贴,替换,并且以上操作对象可以为字符、字符串、特定区块。 - 插入模式:
在一般模式下,按i
进入插入模式,顾名思义,如同在word中编辑文档,可以进行写入,移动光标及单个字符的删除。 - 命令模式:
一般模式下,按:
开启命令模式。输入命令进行诸如查找、打开新文件,保存、关闭文件等工作。
在编辑或命令模式下,使用Esc
键进入一般模式。
直接代替,或者放弃esc的快捷键:
Ctrl+{
在插入模式中使用这个组合键,进入一般模式。
*以下指令只在一般或命令模式下有效。
移动指针
插入
当前:i
当前光标下一个字符:a
行末:A
删除
删除当前字符:x
上一字符:X
可结合数字
剪切、复制和粘贴
粘贴在当前光标行P
下一行p
合并行
使用大写J
查找和替换
单行
命令f
搜索一行中指定字符,如fa
将搜索一行中的‘a’,并使用;
键进行重复搜索。
全文
键入/
并输入搜索内容,ENTER
浏览搜索结果,使用n
移动至下一项。
Global Search-and-Replace
ex
命令,在普通模式下键入:
%
是从第一行至最后一行的简写;或者范围可以指明1,3,即第一行到第三行
$
表示第一行至文件的最后一行
/Line/line/
表示了搜索模式和替换内容
参数g
表示对每一行中的多结果全部进行替换。若省略,则只替换每行第一个结果
若再添加参数c
,即:%s/Line/line/gc
,则每次替换前会询问replace with Line (y/n/a/q/l/^E/^Y)?
编辑多文件
打开新文件
:e filename
(short for “edit”)打开新文件
选择文件
:bp!
忽略vim提醒的未保存警告
:2bn
next两个文件
:buffers
查看已打开文件列表,:buffer number
跳转至低number个文件
将整个文件插入到另一个文件中
:r filename
(r short for “read”)
保存和退出
ZZ
保存且退出
:wq
:w new_filename
另存为