使用vim编辑器
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vim/vi基本操作模式
基本的模式:命令模式、编辑模式、扩展命令模式、可视模式。
说明:
- vim以命令模式启动,按i键进入编辑模式,按esc键退回命令模式;
- 按v键进入可视模式,shift+v选择多行,ctrl+v选择块;
- :进入扩展命令模式,执行保存,退出等工作;
- :w保存文件;:wq保存退出;:q!强制退出;
- 任何时候多巧几下esc总能返回初始命令模式;
进入vim/vi的命令
- vi 文件名称 打开或新建文件,并将光标置于第一行首;
- vi +n 文件名称 打开文件,并将光标置于第n行首;
- vi +文件名称 打开文件,并将光标置于最后一行首;
- vim +/需要匹配的字符 文件名称 打开文件,并将光标置于第一个与匹配到字符的位置,按n键继续从上往下查找;
屏幕翻滚类命令
- ctrl+u 向文件首翻半页;
- ctrl+d 向文件尾翻半屏;
- ctrl+f 向文件尾翻一屏;
- ctrl+b 向文件首翻一屏;
- nzz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部;
跳到指定行,命令行模式下
- gg 跳转到文件第一行;
- G 跳转到文件最后一行;
- ngg或者nG 代表跳转到文件第几行;
插入类命令
- i 在光标前插入;
- I(大写i) 在当前行首插入;
- a 在光标后插入;
- A 在当前行尾插入;
- o 在当前行之下新开一行;
- O 在当前行之上新开一行;
寄存器操作命令
- nyy 将当前行及其下n行的内容保存到寄存器n为一个数字;
- nyl 将当前行及其下n个字符保存到寄存器中,其中?为一个字母,n为一个数字;
- p(小写p) 取出寄存器中的内容并将其放到光标位置处之下;
- P(大写P) 取出寄存器中的内容并将其放到光标位置处之上了;
撤销和恢复
- u 撤销之前的操作
- ctrl+r 反撤销(恢复)
段复制,命令行模式下
- v 移动光标选择自己想复制的段,按下y复制某个段;
- p 在光标所在字符后面粘贴;
删除命令
- ndw 删除光标后的单词;
- ndb 删除光标前的单词;
- . 重复之前的操作;
- ndd 删除当前行及其后n-1行;(也相当于剪切)
- x或X 删除一个字符;
删除某个段,命令行模式下:
- v选中选择段;
- 然后x删除
删除某个列,命令行模式下:
- ctrl+v选中选择列;
- 然后x删除
扩展命令模式下的操作
- :w 文件名称 定义文件名称;
- :wq 保存并退出;
- :q! 不保存并强制退出;
- :wq! 保存强制退出;
- :set nu 显示行号;
- :set nonu 取消显示行号;
- :set autoindent 打开自动缩进;
- :set noautoindent 关闭自动缩进;
- /pattern 从光标开始处向文件尾搜索pattern;
- ?pattern 从光标开始处向文件首搜索pattern;
替换行内容命令
:行号s/替换前的字符/替换后的字符/g
- :1,20s/test/123/g #替换第一行到第20行包含test关键字全部替换成123
- :1,$s/test/123/g #替换第一行到最后一行包含test关键字全部替换成123
vim/vi其他常用模式
非兼容模式:
在编辑模式下输入以下命令就可以切换到非兼容模式,避免正常模式下按上下左右键出现类似“AB”的情况。
:set nocompatible
粘贴模式:
保留粘贴的文本格式,在编写脚本文件时比较实用
:set paste
光标对齐模式:
在对缩进比较时使用,方便yaml文件的书写
:set cursorcolumn