vi : visual Interface 可视化接口 因为我们频繁的写脚本,配置服务器,所以需要一款功能强大的文本编辑器。 vim:VI iMproved vi增强版 vim是一款全屏、模式化编辑器 vim模式的三种模式: 编辑模式(命令模式:复制 删除 粘贴 剪切 光标定位) 输入模式(输入内容) 末行模式(除了编辑命令之外的诸多文件管理命令:保存 退出,引入其他文件内容,比编辑模式更多) 默认是出处于编辑模式的。 模式之间是可以转换的。 模式转换:: 编辑模式-->输入模式 i: 在当前光标所在字符的前面,转为输入模式 a:在当前光标所在字符的后面,转为输入模式 o:在当前光标所在行的下方,新建一行,并转为输入模式 I:在当前光标所行的行首,转为输入模式 A:在当前光标所在行的行尾,转为输入模式 O:在当前光标所在行的上方,新建一行,并转为输入模式 模式之间的转换: 输入模式-->编辑模式 ESC 编辑模式-->末行模式 : 末行模式-->编辑模式 按两次ESC 1.打开文件 # vim /path/to/somefile 如果文件存在则打开,如果不存在则是新建。 # vim +# inittab 快速打开,并使光标定位到第#行。 # vim + inittab 快速打开文件,并使光标定位在最后一行上。 # vim +/PATTERN 打开文件,定位至第一次被PATTERN(被匹配的字符,模式,样品)匹配到的行的行首 2.关闭文件 2.1 末行模式下关闭文件 :q 退出 :wq 保存并退出 :q! 不保存强制退出 :w 保存 :w! 强制保存 :x == :wq 保存并退出 2.2 编辑模式下关闭文件 ZZ :保存并退出 3. 光标定位(编辑模式下进行的) 3.1 逐字符移动(都可以使用 #h 的格式跟数字组合快速移动光标) h:向左 l :向右 j :向下 k:向上 #h 移动#个字符,按住#只能移动一次 3.2 逐单词移动 w:移动到下一个单词的词首 e :跳到当前单词词尾或跳到下一个单词的词尾 b :跳到当前单词词首或者前一个单词词首 #w 移动到第#个单词的词首 3.3 行内跳转 0:跳到行首(绝对行首) ^:跳到一行的第一个非空白字符 $:绝对行尾 3.4 指定行间跳转 gg:跳到第一行 #G:跳转至第#行 G:最后一行 末行模式下,直接给出行号即可 ex: :n ,跳转到第n行 4. 翻屏 ctrl+f :向下翻一屏 ctrl+b:向上翻一屏 ctrl+d:向下翻半屏 ctrl+u:向上翻半屏 5. 删除单个字符 x:删除光标所在处的单个字符 #x:删除光标所在处及向后的共#个字符 6. 专用的删除命令d :与跳转命令组合使用 删除单词 d0:删除当前字符到行首的内容 d$:删除当前字符到行尾的内容 == D 删除光标到行尾 #d跳转符:删除跳转符#范围个 #dw #de #db dG:删除光标到尾部所有内容 删除行 dd:删除光标所在行 #dd:删除包括光标所在行在内的#行 n1,n2d:删除第n1到n2行,删除指定范围的行 ********在末行模式下 .:表示当前行 +#:表示向下的#行(包括当前行) $:表示最后一行+ 7. 粘贴命令 小p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方, 如果删除或复制为非整行,则粘贴至光标所在字符的后面。 大P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方, 如果删除或复制为非整行,则粘贴至光标所在字符的前面。 8. 复制命令 y : yank 同d yy:复制单行 #yy:复制#行 9. 修改:先删除内容,再转换为输入模式 c:用法同d cc cG cgg 10. 替换单字符命令 r :替换单个字符 R:从光标处开始替换任意多个字符,ESC退出替换命令 11. 撤销 u:撤销前一次的编辑操作 连续u命令可撤销此前的n词编辑操作 #u:直接撤销最近#次编辑操作 撤销撤销:ctrl+r 12. 重复前一次编辑操作 . 13. 可视化模式 v:按字符选区 V:按矩形选区 14. 查找 /pattern ?pattern n N : set ic 不区分大小搜索 15. 查找并替换 在末行模式下使用 s 命令 : %s/old/new/g 全文替换 : n1,n2s/old/new/g 指定行替换,不询问 : n1,n2s/old/new/c 指定行替换,询问 16. 另存为 :w new_filename 另存为指定文件 :w 保存修改 :wq 保存退出 :q! 不保存退出 :wq! 保存修改并推出(文件所有者及root可使用) ZZ: 保存修改并退出 技巧总结: 17. 导入一个文件,或者命令产生的内容 :r filename 18. 不退出编辑查询“命令行”的命令 :!which 命令 19. 把一个命令的执行结果导入到文件中 :r !date 20. 定义快捷键 map ^p I#<esc> ^p --> ctrl+v+p 行首插入# map ^b 0x 删除行首字符 21. 连续行注释(实际上就是空位 和 # 或者 // 之间的替换) : n1,n2s/^/#/g :给指定行首加入# : n1,n2s/^#//g :去掉多行行首# : n1,n2s/^/\/\//g :行首添加注释 // 22. 替换 :ab myemail [email protected] 23. 将快捷方式保存为长期有效快捷方式:要在home目录下,新建 .vimrc 文件。 /home/username/.vimrc /root/.vimrc
时间: 2024-10-11 21:38:35