linux下使用vim的常用按键

最近一个月一直在使用跳板机,之前对vim下的按键不是很熟,这一个月用的多了,也都熟练了,今天整理下vim下常用的按键操作,基本可以满足工作需要,更重要的还是经常使用vim,不要刻意的去背去记,用的多了自然而然就会了。

 

一般模式下常用按键

移动光标

h/←    光标向左移动一个字符

j/↓     光标向下移动一个字符

k/↑    光标向上移动一个字符

l/→   光标向右移动一个字符

向上移动xx行,可以使用xx↑或xxk,即想要移动的数字+按键操作就可以

fn+↑/↓    向上或者向下移动一页

0/home    移动到这一行的最前面字符处

$/end       移动到这一行的最后面字符处

H    光标移到这一页最上面那一行的第一个字符

M    光标移到这一页最中间那一行的第一个字符

L     光标移到这一页最底下那一行的第一个字符

G     光标移到这个文件的最后一行

nG    光标移到这个文件的第n行

gg     光标移到到这个文件的第一行 (相当于1G)

n[Enter]    光标向下移动n行

查找与替换

/word   在文件中向下查找名为word的字符串

?word  在文件中向上查找名为word的字符串

n   重复前一个查找操作,与/word配合,向下继续查找下一个名为word的字符串

N   反向进行前一个查找操作,与/word配合,向上继续查询下一个名为word的字符串

:n1,n2s/word1/word2/g    n1与n2为数字,在第n1和n2行之间查找word1这个字符串,并将该字符串替换为word2

:1,$s/word1/word2/g    从第一行到最后一行查找word1字符串,并将该字符串替换为word2

:1,$s/word1/word2/gc    从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前显示提示字符给用户确认是否需要替换

 

删除、复制与粘贴

删除

x    向后删除一个字符,相当于Del

X    向前删除一个字符,相当于backspace

nx   n为数字,连续向后删除n个字符

dd    删除光标所在的那一整行

ndd   删除光标所在的向下n行

d1G  删除光标所在行到第一行的所有数据

dG    删除光标所在行到最后一行的所有数据

d$     删除从光标所在的那个字符到该行的最后一个字符

d0     删除从光标所在的那个字符到该行的最前面一个字符

复制

yy     复制光标所在的那一整行

nyy   复制光标所在的向下n行

复制成功下面这样显示

y1G   复制光标所在行到第一行的所有数据

yG     复制光标所在行到最后一行的所有数据

y$      复制光标所在的那个字符到该行行尾的所有数据

y0      复制光标所在的那个字符到该行行首的所有数据

粘贴

p    p为将已复制的数据在光标的下一行粘贴

P    P为将已复制的数据在光标的上一行粘贴

J    将光标所在行与下一行的数据结合成同一行

c    重复删除多个数据,向下删除10行[10cj]

u    复原前一个操作,也就是撤销之前的操作  相当于windows的ctrl+z

Ctrl+r    重做上一个操作  相当于windows的ctrl+y

.    小数点,重复前一个操作

 

一般模式切换到编辑模式

进入插入或替换的编辑模式

插入模式

i    进入插入模式,i为从目前光标所在处插入

I    I为目前所在行的第一个非空格符处开始插入

a   a为从目前光标所在的下一个字符处开始插入

A   A为从光标所在行的最后一个字符处开始插入

o   o为从目前光标所在的下一行插入新的一行

O   O为从目前光标所在处的上一行插入新的一行

替换模式

r    只会替换光标所在的那一个字符一次

R   一直替换光标所在的文字,直到按下ESC

ESC   退出编辑模式,回到一般模式中

 

一般模式切换到命令行模式

命令行的保存、离开等命令

:w    将编辑的数据写入硬盘文件中

:w!   强制写入该文件

:q    离开vi

:q!   若曾修改过文件,又不想保存,!为强制离开又不保存文件

:wq    保存后离开

:wq!   强制保存后离开

ZZ    若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开

:w[filename]    将编辑的数据保存成另一个文件(类似另存)

:r[filename]     在编辑的数据中,读入另一个文件的数据,将filename的文件内容加到光标所在行后面

:n1,n2w[filename]    将n1到n2的内容保存成filename这个文件

:!command    暂时离开vi到命令行模式下执行command的显示结果  eg::! ls/home 即可在vi中查看/home下面以ls输出的文件信息

:set nu/:set number    显示行号

:set nonu     取消行号

参考《鸟哥的Linux私房菜》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值