linux中vim的使用
2016-03-07 15:00
288 查看
vim分为三种模式:一般模式、编辑模式、命令模式。
一般模式:在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。
编辑模式:从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R)。当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。
命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。
下面是具体的命令:
一般模式下移动光标
h或向左方向键 : 光标向左移动一个字符
j或向下方向键 :光标向下移动一个字符
k或向上方向键 :光标向上移动一个字符
I或向右方向键 :光标向右移动一个字符
Ctrl+f或者pageUP键:屏幕向前移动一页
Ctrl+b或者pageDown键:屏幕向后移动一页
Ctrl + d : 屏幕向前移动半页
Ctrl + u : 屏幕向后移动半页
+ : 光标移动到非空格符的下一列
- : 光标移动到非空格符的上一列
n空格(n是数字): 按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n
0(数字0)或者Shift+6 : 移动到本行行首
Shift+4 : 即’$’移动到本行行尾
H : 光标移动到当前屏幕的最顶行
M : 光标移动到当前屏幕的中央那一行
L : 光标移动到当前屏幕的最底行
G : 光标移动到文本的最末行
nG(n是数字): 移动到该文本的第n行
gg : 移动带该文本的首行
n回车(n是数字) : 光标向下移动n行
一般模式下的查找和替换
/word : 向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个
?word : 想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个
:n1,n2s/word1/word2/g : 在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”
:1,s/word1/word2/g:从第一行到最末行,查找word1并替换成word2:1,s/word1/word2/g : 从第一行到最末行,查找word1并替换成word2
:1,s/word1/word2/gc : 加上c的作用是,在替换前需要用户确认
一般模式下删除、复制粘贴
x,X : x为向后删除一个字符,X为向前删除一个字符
nx(n为数字) : 向后删除n个字符
dd : 删除光标所在的那一行
ndd(n为数字) : 删除光标所在的向下n行
d1G : 删除光标所在行到第一行的所有数据
dG : 删除光标所在行到末行的所有数据
yy : 复制光标所在的那行
nyy : 复制从光标所在行起向下n行
p,P : p复制的数据从光标下一行粘贴,P则从光标上一行粘贴
y1G : 复制光标所在行到第一行的所有数据
yG : 复制光标所在行到末行的所有数据
J : 讲光标所在行与下一行的数据结合成同一行
u : 还原过去的操作
进入编辑模式
i : 在当前字符前插入字符
I : 在当前行行首插入字符
a : 在当前字符后插入字符
A : 在当前行行末插入字符
o : 在当前行下插入新的一行
O : 在当前行上插入新的一行
r : 替换光标所在的字符,只替换一次
R : 一直替换光标所在的字符,一直到按下ESC
命令模式
:w : 将编辑过的文本保存
:w! : 若文本属性为只读时,强制保存
:q : 退出vim
:q! : 不管编辑或未编辑都不保存退出
:wq : 保存,退出
:e! : 将文档还原成最原始状态
ZZ : 若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq
:w [filename] : 编辑后的文档另存为filename
:r [filename] : 在当前光标所在行的下面读入filename文档的内容
:set nu : 在每行的行首显示行号
:set none : 取消行号
n1,n2 w [filename] : 将n1到n2的内容另存为filename这个文档
:! command : 暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim
练习:
1. 请把/etc/init.d/iptables 复制到/root/目录下,并重命名为test.txt
用vim打开test.txt并设置行号
分别向下、向右、向左、向右移动5个字符
分别向下、向上翻两页
把光标移动到第49行
让光标移动到行末,再移动到行首
移动到test.txt文件的最后一行
移动到文件的首行
搜索文件中出现的 iptables 并数一下一共出现多少个
把从第一行到第三行出现的iptables 替换成iptable
还原上一步操作
把整个文件中所有的iptables替换成iptable
把光标移动到50行,删除字符”$”
还原上一步操作
删除第50行
还原上一步操作
删除从37行到42行的所有内容
还原上一步操作
复制48行并粘贴到52行下面
还原上一步操作(按两次u)
复制从37行到42行的内容并粘贴到44行上面
还原上一步操作(按两次u)
把37行到42行的内容移动到19行下面
还原上一步操作(按两次u)
光标移动到首行,把/bin/sh 改成 /bin/bash
在第一行下面插入新的一行,并输入”# Hello!”
保存文档并退出
一般模式:在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。
编辑模式:从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R)。当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。
命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。
下面是具体的命令:
一般模式下移动光标
h或向左方向键 : 光标向左移动一个字符
j或向下方向键 :光标向下移动一个字符
k或向上方向键 :光标向上移动一个字符
I或向右方向键 :光标向右移动一个字符
Ctrl+f或者pageUP键:屏幕向前移动一页
Ctrl+b或者pageDown键:屏幕向后移动一页
Ctrl + d : 屏幕向前移动半页
Ctrl + u : 屏幕向后移动半页
+ : 光标移动到非空格符的下一列
- : 光标移动到非空格符的上一列
n空格(n是数字): 按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n
0(数字0)或者Shift+6 : 移动到本行行首
Shift+4 : 即’$’移动到本行行尾
H : 光标移动到当前屏幕的最顶行
M : 光标移动到当前屏幕的中央那一行
L : 光标移动到当前屏幕的最底行
G : 光标移动到文本的最末行
nG(n是数字): 移动到该文本的第n行
gg : 移动带该文本的首行
n回车(n是数字) : 光标向下移动n行
一般模式下的查找和替换
/word : 向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个
?word : 想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个
:n1,n2s/word1/word2/g : 在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”
:1,s/word1/word2/g:从第一行到最末行,查找word1并替换成word2:1,s/word1/word2/g : 从第一行到最末行,查找word1并替换成word2
:1,s/word1/word2/gc : 加上c的作用是,在替换前需要用户确认
一般模式下删除、复制粘贴
x,X : x为向后删除一个字符,X为向前删除一个字符
nx(n为数字) : 向后删除n个字符
dd : 删除光标所在的那一行
ndd(n为数字) : 删除光标所在的向下n行
d1G : 删除光标所在行到第一行的所有数据
dG : 删除光标所在行到末行的所有数据
yy : 复制光标所在的那行
nyy : 复制从光标所在行起向下n行
p,P : p复制的数据从光标下一行粘贴,P则从光标上一行粘贴
y1G : 复制光标所在行到第一行的所有数据
yG : 复制光标所在行到末行的所有数据
J : 讲光标所在行与下一行的数据结合成同一行
u : 还原过去的操作
进入编辑模式
i : 在当前字符前插入字符
I : 在当前行行首插入字符
a : 在当前字符后插入字符
A : 在当前行行末插入字符
o : 在当前行下插入新的一行
O : 在当前行上插入新的一行
r : 替换光标所在的字符,只替换一次
R : 一直替换光标所在的字符,一直到按下ESC
命令模式
:w : 将编辑过的文本保存
:w! : 若文本属性为只读时,强制保存
:q : 退出vim
:q! : 不管编辑或未编辑都不保存退出
:wq : 保存,退出
:e! : 将文档还原成最原始状态
ZZ : 若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq
:w [filename] : 编辑后的文档另存为filename
:r [filename] : 在当前光标所在行的下面读入filename文档的内容
:set nu : 在每行的行首显示行号
:set none : 取消行号
n1,n2 w [filename] : 将n1到n2的内容另存为filename这个文档
:! command : 暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim
练习:
1. 请把/etc/init.d/iptables 复制到/root/目录下,并重命名为test.txt
用vim打开test.txt并设置行号
分别向下、向右、向左、向右移动5个字符
分别向下、向上翻两页
把光标移动到第49行
让光标移动到行末,再移动到行首
移动到test.txt文件的最后一行
移动到文件的首行
搜索文件中出现的 iptables 并数一下一共出现多少个
把从第一行到第三行出现的iptables 替换成iptable
还原上一步操作
把整个文件中所有的iptables替换成iptable
把光标移动到50行,删除字符”$”
还原上一步操作
删除第50行
还原上一步操作
删除从37行到42行的所有内容
还原上一步操作
复制48行并粘贴到52行下面
还原上一步操作(按两次u)
复制从37行到42行的内容并粘贴到44行上面
还原上一步操作(按两次u)
把37行到42行的内容移动到19行下面
还原上一步操作(按两次u)
光标移动到首行,把/bin/sh 改成 /bin/bash
在第一行下面插入新的一行,并输入”# Hello!”
保存文档并退出
相关文章推荐
- centos 永久禁止PackageKit后台运行
- Centos7 ibus-libpinyin-1.7.4升级工作
- linux rs sz 安装
- postgresql centos6.5安装以及常用命令
- Linux下RPM软件包的安装及卸载
- Linux中Hadoop的安装和配置方法
- 查看Linux内核版本
- linux下根据进程名定时杀死/重启进程
- CentOS设置IP地址
- centos配置history记录每个用户执行过的命令
- linux服务器 Haproxy搭建Web集群环境实例
- Linux / Unix Command: filter
- Linux cups 打印总结备忘
- SOAP嵌入式linux下的应用使用方法(一)
- Linux出现java.net.UnknownHostException异常问题的解决办法
- linux遍历目录及其子目录
- centos7防火墙
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd
- 在centos 下安装配置基于gitosis 的git 服务
- [Linux]从控制台一次读取一个字符,无需等待回车键