vim是我们在Linux当中最常用的文本编辑器,vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法癿正确性,方便程序设计。在这儿归纳一下vim比较常用的一些用法。
Vim 拥有 5 种编辑模式:命令模式、输入模式、末行模式、可视化
模式、查询模式。
1.命令模式(其它模式→ESC)
2.输入模式(命令模式→a、i、o、A、I、O)
3.末行模式(命令模式→:)
4.可视化模式(命令模式→v)
5.查询模式(命令模式→?、/)
当我们在命令模式下时:
- 使用方向键可以实现鼠标的上下左右移动
- page up或者ctrl+F:向上翻一整页的内容
- page down或者ctrl+B:向下翻一整页
- home键或者^:跳到行首
- end键或者$:跳到行尾
- gg:跳到首行
- G:跳到尾行
- #G或者#gg:跳到第#行,例如3G,3gg
- :set nu:显示行号
要是想每次打开vim的时候都自动显示行号,我们可以设置配置文件就可以了。有两种配置方式:
/etc/vimrc 是系统范围的初始化配置
~/.vimrc 是个人的vim初始化配置
我们执行vim ~/.vimrc后在其中写入set nu或者set number
再用vim打开文件,就默认显示行号了
- :set nonu:取消行号显示
- x:删除光标处的字符
- dd:删除当前光标所在行
- #dd:删除从光标开始的#行内容
- d^:删除从光标到当前行首的内容
- d$:删除从光标到当前行尾的内容
- #x::删除光标所在处及向后的共#个字符
- yy:复制当前整行的内容到剪贴板
- #yy:复制从光标处开始的#行内容
- p:粘贴到光标位置之后
- P:粘贴到光标位置之前
- /abc:从上到下在文件中查找字符串abc
- ?abc:从下到上在文件中查找字符串abc
- n:定位下一个匹配的被查找的字符串
- N:定位上一个匹配的被查找的字符串
- u:撤消前一次的编辑操作
- #u: 直接撤消最近#次编辑操作
当我们在末行模式下时:
- w:保存
- w /kang/newfile :另存为其他文件
- q:退出
- q!:放弃对文件内容的修改,强制退出
- wq:保存并退出
- e /kang/file :打开新的文件进行编辑
- r /kang/file:在当前文件中读入其他文件内容
- w /kang/file2:将范围内的文本保存至指定的文件中
- s /a/b:将当前行中查找到的第一个字符串a替换为b
- s /a/b/g:将当前行中查找到的所有字符串a替换为b
- #,# s /a/b:在行号#,#范围内将所有字符串a替换为b
- % s /a/b/g:在整个文件范围内将所有字符串a替换为b
(加上%指文档中的所有内容,要是没有%,就要加上行号)
打开文件:vi /kang/file1
vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被 PATTERN 匹配到的行的行首,默认处于编辑模式
关闭文件
1、末行模式关闭文件
:q 退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :x
2、编辑模式下退出
ZZ: 保存并退出
移动光标
1、逐字符移动:
h: 左
l: 右
j: 下
k: 上
#h: 移动#个字符
2、以单词为单位移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
3、行内跳转:
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
4、行间跳转
#G:跳转至第#行
G:最后一行
1G:跳转到第 1 行首=gg
末行模式下,直接给出行号即可 比如:5 直接定位到第 5 行首
5、翻屏
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
使用Ctrl+v可以灵活的选定一块区域进行操作,这样在某些情况下就很方便了,例如要删除某一列,或者某几列