Vim常用命令

这里写图片描述

插入

字符含义
a在当前光标后插入文本
A在本行行尾插入文本
i在光标前插入文本
I在本行行首插入文本
o在光标下插入新行
O在光标上插入新行
h左移一个字符
j下移一个字符
k下移一个字符
I右移一个字符
$移动至当前行的行尾
0移动至当前行的行首(数字零)
H移动屏幕上端
M移动至屏幕中央
L移动屏幕下端
Gg到整个文件的第一行
G到整个文件的最后一行
nG到第n行,例如5G 到整个文件的第5行
:n到第n行

删除

字符含义
x删除光标所在处字符
nx删除光标所在处n个字符
dd删除光标所在行
ndd删除n行,例如:5dd 删除5行
dG删除光标所在处到末尾的内容
D删除从光标所在处到行尾
:n1,n2d删除指定范围的行,表示删除从n1行开始至n2行。例如:8,20d 表示删除从第8行至第20行的内容

复制和粘贴

字符含义
yy,Y复制当前行
nyy,nY复制当前行以下的n行
dd剪切当前行(先删除再粘贴)
ndd剪切当前行以下n行
p将内容粘贴在当前光标所在行的下一行(小写)
P将内容粘贴在当前光标所在行的上一行(大写)
D删除从光标所在处到当前行的行尾
:n1,n2d删除指定范围的行,表示删除从n1行开始至n2行。例如:8,20d 表示删除从第8行至第20行的内容

替换和取消

字 符含 义
r替换光标所在处的字符
R从光标所在处开始替换字符,按ESC结束。例如:this is a test document 假如当前光标在a处,你在命令模式下输入了R。则你开始输入的内容都会把a test document给替换掉
u取消上一步操作


搜索和替换

字 符含 义
/string/表示从文档从前往后查找string,当按n的时候就会跳转到字符在一个出现的地方,当按N的时候,会向上跳转到上次出现的地方,开启搜索时忽略大小写 :set ic,关闭搜索时忽略大小写 :set noic
n从前往后查询字符出现的位置
N从后往前查找字符出现的位置
:%s/old/new/g全文替换指定字符串,old表示要替换的字符。new表示要替换成的字符,例如,将文档中所有123字符替换为789, :%s/123/789/g
:n1,n2s/old/new/g在一定范围内替换指定字符串,跟全文类似。只不过在一定范围。n1和n2表示在某一定行内。
例如:将第10行至12行中的789替换成007字符 :10,12s/789/007/g,
也可以把:10,12s/789/007/g后面的g改为c字符
(:10,12s/789/007/c)会出现确认信息提示你是否要替换(类似Windows中的:你确定要删除吗?)
replace with 007 (y/n/a/q/l/^E/^Y)?
y:替换 n:不替换 a:替换所有 q:取消替换

保存和退出

字 符含 义
:w只保存不退出
:w a.txt保存至a.txt文件(另存为)
:q只退出
:q!退出不保存
:wq退出并保存
:wq!强行退出并保存(只针对于文件的所有者或者root才能这样做)
ZZ退出并保存(等同于:wq)

其他技巧

字 符含 义
导入文件:r
文件名例1:将hello文件的内容导入到当前光标所在处

:r hello
导入命令执行结果:r !命令
例2:将系统当前时间导入到当前光标处
:r !date
在vi中执行命令
:! 命令
例如:正在vi编辑某个文件的时候,想查看/root/test目录下有哪些内容,可以执行如下命令
:! ls /root/test
此时屏幕将会出现test目录中的内容,会提示你按任意键回到vi编辑中
Press ENTER or type command to continue
定义快捷键:map 快捷键 触发命令
例1:不管光标在当前行的任意位置,当按下ctrl+b的时候。将行首的#注释给删除掉。
命令如下
:map ^b 0x
例2:不管光标在当前行的任意位置,当按下ctr+p的时候。给行首添加#注释
:map ^P I#< ESC>

(^表示是ctrl键)^b是通过ctrl+v+b或者ctrl+v ctrl+b给按出来的。如果是通过ctrl按出来的^的话,显示的是这样这里写图片描述
^p是绿色的
取消快捷键:unmap 快捷键
例如:取消ctrl+b的快捷键
:unmap ^b
连续行注释:n1,n2s/^/#/g
:n1,n2s/^/#//g
:n1,n2s/^/\/\//g

例1:在5到10行行首添加#
命令如下
:5,10s/^/#/g

^表示回到行首
例2:取消5到10行行首的#
:5,10s/^#//g
例3:在5到10行行首添加//
:5,10s/^/\/\//g
其中\表示转义字符,\/\/不是字母W而是\和/
替换:ab abc abc@163.com
表示当你输入abc的时候,会自动转换为abc@163.com
例1:如果你在vi中经常输入一串字符,而又不想定义快捷键。可以使用ab的方式。
假如,你经常输入abc@163.com。则可以像下面这样:ab abc@163.com这条命令会在你在vi中输入abc时,回车或者空格时,abc字符将会成abc@163.com

配置VI

vi的配置文件在每个用户的home目录下的.vimrc文件,如果想每个用户都生效,则修改/etc/vimrc文件

没有这个文件的话,可以新建一个,注意权限问题

例如vi /root/.vimrc文件,输入如下简单配置

syntax on

set nu

set autoindent

在使用vim的时候有语法高亮,但是使用vi的时候没有语法高亮的解决办法?

设置vim的别名为vi即可:alias vi=vim

原文链接:
http://www.cnblogs.com/meet/p/4797069.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值