文本编辑工具vim

5.1 vim的三种常用模式

vim有三种模式:一般模式、编辑模式和命令模式
Linux系统默认没有vim,通过yum install -y vim-enhanced 安装

[root@localhost ~]# yum install -y vim-enhanced

5.1.1 一般模式

当我们使用命令vim filename编辑文件时,默认进入该文件的一般模式,在这个模式下,可以上下左右移动光标、删除某个字符、删除某行以及复制粘贴一行或者多行

移动光标:
h或向左方向键: 光标向移动一个字符
l或向右方向键: 光标向移动一个字符
k或向上方向键: 光标向移动一个字符
j或向下方向键: 光标向移动一个字符
Ctrl+B: 文本页面向翻一页
Ctrl+F: 文本页面向翻一页
0或Shift+6: 移动到本行行首
Shift+4: 移动到本行行尾
gg: 移动到
G: 移动到
nG(n是任意数字) 移动到第n行

删除、复制和粘贴:
x和X: x表示向删除一个字符,X表示向删除一个字符
nx:删除n个字符
dd: 删除/剪切光标所在的那一行
ndd: 删除/剪切光标所在行之后的n行
yy: 复制光标所在行
p: 从光标所在行开始,向粘贴已经复制或者粘贴的内容
P: 从光标所在行开始,向粘贴已经复制或者粘贴的内容
nyy: 从光标所在行开始,向复制n
u: 还原上一步操作
v:v后移动光标会选中指定字符,然后可以实现复制、粘贴等操作


5.1.2 编辑模式

从一般模式进入编辑模式,只需按i、I、a、A、o、O、r和R中的某一个键即可

进入编辑模式:
i: 在当前字符插入
I: 在光标所在行的行首插入
a: 在当前字符插入
A: 在光标所在行的行尾插入
o: 在当前行的下一行插入新的一行
O: 在当前行的上一行插入新的一行


5.1.3 命令模式

在一般模式下,输入:/即可进入命令模式。在该模式下,我们可以搜索某个字符或字符串,也可以实现保存、替换、退出、显示行号等操作

命令模式:
/word : 在光标之后查找一个字符串word,按n继续搜索
?word : 在光标之前查找一个字符串word,按n继续搜索
:n1,n2s/word1/word2/g :n1n2行之间查找word1并替换为word2,不加g则只替换每行的**第一个**word1
:1,$s/word1/word2/g : 将文档中所有的word1替换为word2,不加g则只替换每行的**第一个**word1
:w : 保存文本
:q : 退出vim
:w! : 强制保存,在root用户下,即使文本只读也可以完成保存
:q! : 强制退出,所有改动不生效
:wq : 保存并退出
:set nu : 显示行号
:set nonu : 不显示行号


5.2 vim实践

5.2.1 特殊用法

:e [patn to file] : 打开一个文件
:saves [patn to file] : 另存为一个文件
:x : 保存并退出,不改变mtime
zz : 保存并退出,不需要冒号并回车
:wq : 保存并退出,改变mtime
:qa! : 强制退出所有的正在编辑的文件,就算文件有更改
:bn : 同时打开很多文件,此命令切换到下一个文件
:bp : 同时打开很多文件,此命令切换到上一个文件
:X : vim文件加密,回车之后提示输入密码2次(可以输入空密码,即没有加密)
:set key= : 在指定加密密码的前提下,将密码设置为空,保存退出,即解密
r和R: 在一般模式下按r和R进入替换模式r会替换当前光标所在位置的字符,R会依次替换当前光标所在位置后面的字符
D或d$: 一般模式下,删除从光标所在处到行尾字符
d^: 一般模式下,删除从光标所在处到行首字符
dG: 一般模式下,删除从光标所在处到文件末尾行
10,16d: 一般模式下,删除10到16行的内容
:w /root/1.txt : 一般模式下,把正在编辑的文件另存为到/root下面并保存为1.txt
:! cat /root/1.txt : 不退出正在编辑的文件,在编辑模式下输入即可查看/root/1.txt的内容
:set ic : 在vim查询关键字是不区分大小写(取消输入 :set noic)
:e! : 一般模式下输入可以把文件恢复到打开时的状态


小窍门:
1. vim +10 [filename] 即进入后光标自动跳转到第10行
2. bash命令 !$ 自动重复上一个命令
3. 解决代码自动缩进造成乱码:
①命令模式,输入 :set noai nosi
②paste模式,输入 : set paste (输入 :set nopaste 退出)
4. putty、xshell连接linux,小键盘不能输入数字:
①putty上,选项Terminal→Features里,找到Disable application keypad mode,选中即可
②xshell上,修改session属性→终端→VT模式→初始数字键盘模式

延伸阅读:
1. vim的特殊用法
2. vim常用快捷键
3. vim快速删除指定字段

猜你喜欢

转载自blog.csdn.net/miss1181248983/article/details/80444742
今日推荐