Vim文本编辑
Vim定义
Vim是Linux系统中一个使用非常普遍,而且功能抢到的文本编辑器。(vi的升级版本)
Vim安装与卸载
- 本地安装(dpkg -i)
前提:系统中要存在下载好的安装包,并且可能还需要安装包的依赖包。
- 在线安装
语法:
sudo apt-get update // 更新软件源
sudo apt-get install vim // 安装Vim
- 卸载程序
语法:
sudo apt-get remove vim // 这个命令是写在程序,vim也可以替换成其他程序名
Vim的使用
启动
启动Vim后,此时Vim处于命令模式:
-
系统命令行输入vim,就可以启动vim;
vim //打开vim
在vim中导入待编辑的文件:
:r 待操作文件
-
系统命令行输入vim 待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件开头(第一行第一列)
vim ~/try/mian.c //用vim打开该地址的文件
-
系统命令行输入vim 待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于文件末尾(最后一行第一列)
vim ~/try/mian.c + //用vim打开该地址的文件的基础上将光标放在文件末尾
-
系统命令行输入vim 待编译文件,启动vim同时打开待编译文件
说明:默认打开文件后,光标处于指定行n(指定行n第一列)
vim ~/try/mian.c +n //用vim打开该地址的文件的基础上将光标放在第n行文件末尾退出
退出
方法:
- 在命令模式下:ZZ(大小写)
- :q 文件不做任何修改直接退出
- :wq 保存退出
- :q! 强制退出,不保存
注意: : 英文输入法下使用 shift+:
Vim的工作模式
- 命令模式:用户输入Vim时当做指令处理的
- 编辑(插入)模式:用户输入Vim时字符要写入文件中
- 末行模式:文件保存和退出Vim
命令模式下输入的快捷键解释:
i ——在目前光标前插入所要输入之文字。
a ——在目前光标后开始输入文字。
o ——在当前光标所在行下新增一空行,并从行首开始输入文字。
I ——插于行首。
A ——插于行尾。
O ——在当前光标所在行上新增一空行,并从行首开始输入文字。
Vim的常用命令
光标移动
- 行间移动
gg :移动光标到第一行
G :移动光标到最后一行
:n :移动到第n行,写法: :6 移动光标到第6行
- 列间移动
$ :移动光标到当前行的行尾。
0 :移动光标到当前行的行首。
删除
- 列(字符)删除
x :删除当前光标所在处一个字符。
nx :删除当前光标所在处以及后面共n个字符。写法: 6x 删除从当前光标开始6个字符
X :删除当前光标的左边一个字符。
D :删除当前光标至行尾。
- 行删除
dd :删除当前光标所在行
ndd :删除当前光标所在后面n行
dG :删除当前光标所在行至文件末尾
:n1,n2d :删除n1到n2行,写法: 1,12d 表示删除自行1至12行。
拷贝
- 列(字符)拷贝
多按几次 ESC ,然后按 v ,进入可视方式,移动方向键选中文本,然后按 y ,就拷贝完成
- 行拷贝
yy :复制当前行
nyy :复制当前行以下n行
:n1,n2 copy dn :复制n1~n2 行数据后粘贴到dn行。
2,6 copy 14 //从第2行拷贝至第6行,将拷贝的内容粘贴到第14行。
粘贴
p :如果拷贝的是整行粘贴在当前行下。如果拷贝的是列(字符)粘贴在当前光标之后。
P :如果拷贝的是整行粘贴在当前行上。如果拷贝的是列(字符)粘贴在当前光标之前。
撤销
u :撤销上一步操作。相当于ctrl+z
U :撤销当前行中的所有操作。
Ctrl+r :重做撤销的操作
字符查找
/string :从光标所在处向后寻找“string”字符串,按n可往下继续找,按N可往上查找。
?string :从光标所在处向前寻找“string”字符串,可按N向下继续找,按n向上查找
:set ic :查找时忽略大小写,举例,查找 f ,匹配 f+F
:set noic :查找时对大小写敏感,举例,查找 f ,匹配 f
请注意::set ic和:set noic 必须要在文本查找之前进行。
字符替换
:%s /old/new :将全文每一行第一个匹配项old 替换成new。
:%s /old/new/g :全文替换old为new
:n1,n2s /old/new/g :在n1~n2行间替换old为new
其他常用指令
:set nu :设置行号
:set nonu :设置取消行号
ctrl+g :显示文件名,当前的行号,文件的总行数和文件位置的百分比。
,按n向上查找
:set ic :查找时忽略大小写,举例,查找 f ,匹配 f+F
:set noic :查找时对大小写敏感,举例,查找 f ,匹配 f
请注意::set ic和:set noic 必须要在文本查找之前进行。
字符替换
:%s /old/new :将全文每一行第一个匹配项old 替换成new。
:%s /old/new/g :全文替换old为new
:n1,n2s /old/new/g :在n1~n2行间替换old为new
其他常用指令
:set nu :设置行号
:set nonu :设置取消行号
ctrl+g :显示文件名,当前的行号,文件的总行数和文件位置的百分比。