目录
①vim常用模式
>>>一般模式 :可光标移动删除、复制、粘贴
>>>编辑模式 :任意按“i、I、o、O、a、A、”进入插入模式,按下“r、R”进入替换模式 , 按【Esc】退出编辑模式
一般按“i”在当前光标进入插入模式,或按“o”在当前光标的下一行进入插入模式
>>>命令行模式 :一般模式中,输入任意“: / ?”一个,进入命令行模式, 按【Esc】退出命令行模式
②vim常用操作
高效的光标移动
操作单位 | 命令 | 说明 |
字符 | i | 在当前位置的字符之后进入到插入模式 |
字符 | o | 在光标所在行的下一行新建一行,光标移动到新的行,并进入插入模式 |
单词 | w/W | 光标移动到下一个单词的开头 |
单词 | b/B | 光标移动到上一个单词的开头 |
行 | ^ (shift + 6)或 0 | 移动到光标所在行的行首 |
行 | $ (shift + 4) | 移动到光标所在行的行尾 |
页 | Ctrl+f | 向前翻滚一页 |
页 | Ctrl+b | 向后翻滚一页 |
页 | Ctrl+u | 向前翻滚半页 |
页 | Ctrl+d | 向前翻滚半页 |
文件 | G 或 :$ | 移动到文件的尾行 |
文件 | gg 或 :0 | 移动到文件的首行 |
文件 | nG 或 :n | 移动到文件的第n行 |
高效的文本编辑
功能 | 命令 | 说明 |
删除 | x | 删除光标位置的字符 |
删除 | dw/dW | 删除当前单词从光标至下一个单词的部分 |
删除 | db/dB | 删除当前单词从光标至单词开始的部分 |
删除 | d^或d0 | 删除当前光标至行首的内容,光标后面的内容不会被删除 |
删除 | d$ | 删除当前光标至行尾的内容,光标之前的内容不会被删除 |
删除 | dd | 删除当前行 |
删除 | ndd | 删除n行字符,例:5dd ,表示删除光标所在行和光标下面的四行 |
复制 | yw | 复制当前单词光标的后半部分 |
复制 | yb | 复制当前单词光标的前半部分 |
复制 | yy | 复制光标所在行的所有字符 |
复制 | nyy | 复制n行字符,例:3yy ,表示复制光标所在行和光标下面的两行 |
粘贴 | p | 将最后复制的字符,粘贴在当前字符的后面 |
粘贴 | P | 将最后复制的字符,粘贴在当前字符的前面 |
交换相邻字符 | xp | 交换光标位置的字符和光标右边的字符 |
交换相邻的行 | ddp | 交换光标位置的行和光标所在行的下一行 |
撤销 | u | 撤销更改 |
重做 | Ctrl+r | 重做更改,取消撤销的操作 |
重复操作 | . | 重复上次操作 |
取得外部输入 | :! cmd | 执行外部命令<cmd>并输出结果输出到屏幕,可按enter键返回编辑器 |
去的外部输入 | :r <file> | 将文件<file>读入到当前光标所在位置 |
加入行号 | :%!nl | 在所有非空行前插入行号 |
加入行号 | :%!nl -ba | 在所有行前插入行号 |
显示行号 | :set nu | 在所有行前显示行号(并不是插入字符) |
不显示行号 | :set nonu | 取消显示行号 |
缩进 | >> | 右缩进 |
缩进 | << | 左缩进 |
显示当前编辑文件名 | ctrl+g | 显示当前编辑文件名和行数 |
高效的文本搜索和替换
功能 | 命令 | 说明 |
搜索 | n/str | 在文件中向下搜索字符串str,并把光标移动到第n个找到的字符串 |
搜索 | n?str | 在文件中向上搜索字符串str,并把光标移动到第n个找到的字符串 |
搜索下一个 | n | 可配合操作数,如3n表示搜索向下第三个匹配的字符串 |
搜索上一个 | N | 可配合操作数,如3N表示搜索向上第三个匹配的字符串 |
替换 | :n1,n2s/old/new/g[c] | 将n1至n2行的所有‘old’替换成‘new’(c可让用户确认操作) |
显示搜索历史 | q/或q? | 显示搜索命令历史的窗口 |
显示命令行历史 | q: | 显示命令行命令历史的窗口 |
命令行常用操作
>>> :w! #保存文件
>>> :q! #退出
>>> :wq! #保存后退出
③Vim的恢复功能
>>>在vim编辑时非正常断电(死机)情况下,vim会在同目录新建一个暂存文件 .filename.swp
重新vim filename时,会提示选项:
[O]:查阅暂存文件、[E]:编辑暂存文件、[R]:加载暂存文件、[D]:删除暂存文件、[Q]:离开Vim
④Vim高级技巧
多窗口功能
>>>vim -o file1 file2 #向下扩展同时打开两个文件
:sp [filename] #已经打开一个文件,可用sp命令向下再打开一个文件
>>>vim -O file1 file2 #向右扩展同时打开两个文件 (常用)
:vs [filename] #已经打开一个文件,可用sp命令向右再打开一个文件
>>>输入 <Ctrl +w+w> 实现多窗口之间的切换
>>>关闭当前光标所在窗口 ——>:q
>>>关闭除关闭所在窗口之外的其他窗口——>:only
>>>关闭所有窗口——>:qa
命令行与vim之间切换
>>>在使用vim编辑文件时,要临时退回到命令行模式执行命令,可以在vim命令行模式下输入<:sh>即可切换到系统命令行
>>>需要切换回vim,输入<exit>即可
⑤Vim实战
>>>将m到n行中的字符串str1全部替换成字符串str2
:m,ns/str1/str2/g
>>>打开一个文件,光标自动移动到文件第n行
vim +n file
>>>打开一个文件,光标自动移动到文件的末尾
vim + file
>>>打开一个文件,光标移动到第一个满足某个匹配规则的位置上
vim +/pattern file
>>>将文件内容拷贝到一个新的文件
:w newfile
说明:
>>>以上内容是本人学习的总结
>>>如还有错误,请留言,指正
>>>亦可分享自己的想法,互相学习