请您参考vim自带的学习手册vimtutor。
Ctrl +f 向下翻一屏 Ctrl +fb向上翻一屏
Ctrl +d 向下翻半屏 Ctrl +u 向上翻半屏
vim /word filename 打开某个文本使光标处在第一次出现word的行
:w /root/123.txt 另存为123.txt(末行模式下)
ZZ wq wq! 保存退出 q 退出不保存 w保存不退出
命令模式----->插入模式 i o a I A O
命令模式<----插入模式 按ESC
命令模式---->末行模式 :
末行模式----> 两次ESC
命令模式下的命令:(命令结束后转入插入模式)
i 当前光标所在处前插入 I 当前行行首插入
a 当前光标所在处后插入 A 当前行行尾插入
o 当前光标所在行下方新建一行 O 当前光标所在行上方新建一行
w 下一个词的词首 b 上一个词的词首 e 下一个词的词尾
cc=C 删除当前行 ce 删除光标后第一个单词
)下一句句首 (上一句句首 {上一段段首 }下一段段首
^跳到行首(不含空白)0跳到绝对行首 $跳到行尾(包括空格)
G跳到某行 1G第一行 nG第n行 G最后一行
c$ 从光标处删到行尾 c0删除到绝对行首 c^删除到行首
x删除光标后单个字符 nx删除删除光标后n个字符
dd 删除光标所在处一行 dw向后删除一个单词(包括空格)
de 向后删除一个单词(不包括空格) db向前删除一个单词(不含空格)
y(yank)复制
yy 复制一行 nyy复制n行 yw复制一个单词 ye复制到下一个单词的词尾
yb复制到上一个单词的词首
p(paste)粘贴
p当前光标后粘贴 (当前光标后的下一行粘贴一行)
P当前光标前粘贴 (当前光标前上一行粘贴一行)
u (undo)撤消
u撤消想一次操作 U撤消全部操作(默认最多50次操作)
Redo(点号)
. 重复上一次操作
Ctrl+r 撤消撤消(恢复撤消前的操作)
v 可视化模式
末行模式下搜索(支持非扩展的正则表达式)
/word 光标跳转到第一次出现word字符串的词首 n/N向下/向上搜索
/\<found\>完全匹配搜索 首尾锚定
这里也支持sed
1,10s/found/FOUND从第一行到第十行替换found为FOUND
1,$s/found/FOUND =%s/found/FOUND/g(不加g只能更改每一行的第一个found)
1,$-3s/found/FOUND 从第一行到倒数第三行
%s/\/dev\/pam/\/dev\/sba/g=%s/@/dev/pam/@/dev\/sba/@g(分隔符可以自己指定,不一定需要使用转义字符)将文件中/etc/pam/换做/dev/sba/
$-100,$s/^/# / 后100行前加#
$-100,$s/^#[[:space:]]*/ / 去掉后100行以#接空格开头的行
/gic g全局 i交互式 c不区分大小写
分屏模式
末行模式下splite 上下分屏 (Ctril+w+s)
切换分屏内光标 两次Ctril +w 关闭close
末行模式下vsplit 左右分屏 (Ctril+w+v)
vim一屏打开多个文档
vim -o 1.diff 2.diff 水平分割 -O垂直分割 qall 关闭全部 wall全部写入
vim 打开多个文档
vim 1.txt 2.txt 3.txt 默认打开第一个 末行模式下next下一个文档 first第一个文档 prevous 前一个
转载于:https://blog.51cto.com/linuxbpm/351294