文本编辑工具vim

5.1 vim的三种常用模式

linux系统默认没有vim命令,只有vi命令。

vim有三种模式:一般模式、编辑模式和命令模式。

  • 安装vim:
# yum install -y vim-enhanced

一般模式

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

  • 移动光标:
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后移动光标会选中指定字符,然后可以实现复制、粘贴等操作

编辑模式

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

  • 进入编辑模式:
i       在当前字符前插入  
I       在光标所在行的行首插入

a       在当前字符后插入  
A       在光标所在行的行尾插入 

o       在当前行的下一行插入新的一行  
O       在当前行的上一行插入新的一行

命令模式

在一般模式下,输入:/即可进入命令模式。

在该模式下,我们可以搜索某个字符或字符串,也可以实现保存、替换、退出、显示行号等操作。

  • 命令模式:
/word   在光标之后查找一个字符串word,按n向后继续搜索
?word   在光标之前查找一个字符串word,按n向前继续搜索

:n1,n2s/word1/word2/g     在n1和n2行之间查找word1并替换为word2,不加g则只替换每行的第一个word1
:1,$s/word1/word2/g     将文档中所有的word1替换为word2,不加g则只替换每行的第一个word1

:w          保存文本  
:q          退出文本
:w!         强制保存,在root用户下,即使文本只读也可以完成保存  
:q!         强制退出,所有改动不生效  
:wq         保存并退出  
:set nu     显示行号  
:set nonu   不显示行号

5.2 vim实践


特殊用法

:e [path to file]           打开一个文件  
:saves [path to file]           另存为一个文件

:x          保存并退出,不改变mtime
: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!                 一般模式下输入可以把文件恢复到打开时的状态
  • 小窍门:

vim +10 [filename] 即进入后光标自动跳转到第10行

bash命令 !$ 自动重复上一个命令

解决代码自动缩进造成乱码:
1.命令模式,输入 :set noai nosi
2.paste模式,输入 : set paste (输入 :set nopaste 退出)

putty、xshell连接linux,小键盘不能输入数字:
1.putty上,选项Terminal→Features里,找到Disable application keypad mode,选中即可
2.xshell上,修改session属性→终端→VT模式→初始数字键盘模式


更多参考资料:

vim常用命令总结

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值