Linux vim程序编辑器的使用
Linux vim程序编辑器的使用
vim简介
- 所有的UNIX like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在
- 很多软件的编辑接口都会主动调用vi
- vim是vi的高级版本
vi的使用
vi分为3种模式,一般模式、编辑模式与命令行模式。
一般模式:
- 以vi打开一个文件就直接进入一般模式了。
- 在该模式中可以使用上下左右来移动光标,可以删除字符或者删除整行,也可以复制、粘贴文件数据。
编辑模式:
- 在一般模式中可以删除、复制、粘贴。但是没有办法编辑文件内容。
- 按下“i I o O a A r R”等任何一个字母之后会进入编辑模式。在界面左下方会显示“INSERT”或“REPLACE”的字样。
- 按下“ECS”退出
命令行模式:
- 在一般模式中输入“:”或者“/”“?”3个中的任意一个都可以将光标移动到最下面一行。
- 在该模式中可以查找数据、读取、保存、大量替换字符、离开vi、显示行号等。
- 按下“ESC”退出
注意:编辑模式是无法立即跳转到命令行模式的,需要先ESC回到一般模式,再进入命令行模式
常用指令
一些太复杂,或者功能重叠的指令我就没有指出来了。列出的都是比较常用并且比较容易记住的。
翻页
- 向下翻页:Ctrl+f
- 向上翻页:Ctrl+b
移动
- 往某个方向移动:数字+方向键。表示朝那个方向移动多少格
- 移动到这一行最前:数字0
- 移动到这一行最后:$
- 移动到最后一行:G
- 移动到文件第一行:gg
查找
- 向下查找某个单词:/word
- 向上查找某个单词:?word
- 重复前一个操作:n
- 反向查找:N
替换
- 在第n1行到第n2行之间寻找字符串word1,并替换为word2:
n1,n2s/word1/word2/g(c)
加c表示替换前询问。n1,n2必须是数字
- 在第一行到最后一行之间寻找和替换
1,$s/word1/word2/g
删除
- 删除:delete
- 删除整行:dd
- 删除n行:ndd(n是数字)
- 删除从光标所在到最后一行:dG
复制
- 复制光标所在一行:yy
- 复制向下n行:nyy
粘贴
- 向下粘贴:p
重复
- 重复上一个操作:. (小数点)
另存为
- 另存为另一个文件:
w [filename]
杂项
- 设置行号:set nu
vim的保存文件、恢复与打开时的警告
-
当我们使用vim编辑时,vim会在被编辑的文件的目录下再新建一个名为“.filename.swp”的隐藏文件
-
当我们在vim的一般模式下按下Ctrl+z时,vim会被退到后台执行。再次进入文件时会发出警告。如下图所示:
-
可以根据提醒选择处理方式:只读,直接进入等。但是需要删除那个隐藏文件,否则下次进入这个文件时,vim还是会继续警告。
块选择
V:字符选择,会将光标经过的地方反白选择。
y:将选择的地方进行复制
d:将选择的地方删除
多文件编辑
- 使用如下命令进行多个文档编辑
vim file1 file2
- 查看vim在编辑多少文件:files
- 编辑下一个文件:n
- 编辑上一个文件:N
多窗口模式
-
打开另一个窗口:sp:file2
-
光标移动到下一个窗口:Ctrl+w+向下箭头
-
退出:光标在哪个窗口,进入命令行,输入q,便是退出这个窗口
vim设置
-
设置行号:set nu
-
取消行号:set nonu
-
设置高亮度查找:set hlsearch
-
取消:set nohlsearch
-
显示所有环境参数设置值:set all
-
设置根据语法显示不同颜色:syntax on
-
取消:syntax off