Vim 文本编辑器使用

1. 打开vim

#vim 文件名

#vim +20 文件名 //直接进入第20行

#vim +/hello 文件名 //直接进入 hello所在的行

2.插入命令

  • i:在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
  • I:在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行i命令
  • a:在当前光标所在位置之后插入随后输入的文本
  • A:在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令
  • o:在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
  • O:在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本

3. 光标移动命令

注: 以下命令的使用都是在命令模式下进行的。

  • 以字符为单位移动:

上下左右键;

h、j、k、l、来控制方向;

  • 以单词为单位移动

w:移动光标到下一个单词的单词首

b:移动光标到上一个单词的单词首

e:移动光标到下一个单词的单词尾

  • 移动到行尾或行首

"$ " 移动到行尾;

“^” 或“0” 移动到行首;

对于 $ 命令来说,可以使用诸如"n$"之类的命令来将光标移至当前光标所在行的之后 n 行的行尾(n 为数字);对于"0"

命令来说却不可以,但可以用"n^"。

  • 移动到一行的指定字符处(f 命令)

f命令加字符,可以将光标移动到该行输入字符所在的位置

  • 移动到匹配的括号处(%命令)

将光标放到需要匹配的"(" 或 “{” 处,使用“%” 命令可以自动达到与之匹配的“)”或“}”处

  • 移动到指定行处(nG 或:n 命令)

在命令模式下输入nG(n为数字,G为大写)或":n" ,光标会自动定位到指定行的行首。

4. 使用vim 进行编辑

  • 查找指定字符串

“/要查找的字符串” : 从光标位置 向下查找指定字符串;

“?要查找的字符串”: 从光标位置向上查找指定字符串;

“/^nopes” : 查找以nopes为首的行

“/nopes$”:查找以nopes为尾的行

匹配的字符串有多个时,可按“n”键向下继续匹配查找,按“N”键向上继续匹配查找。

查找是区分大小写的,如果不想区分可输入“set ic” 命令 来忽略大小写。“set noic“ 来恢复区分大小写。

  • 替换字符

小写"r"可以替换光标所在处的某个字符,将光标移动到想替换的单个字符处,按下"r"键,然后直接输入替换的字符

即可。

大写"R"可以从光标所在处开始替换字符,输入会覆盖后面的文本内容,直到按 Esc 键结束。

 

批量替换格式如下:

  • 替换范围内的字符串::替换起始处,替换结束处s/源字符串/替换的字符串/g。
  • 替换整篇文档的字符串::%s/源字符串/替换的字符串/g(如果不加g,则只替换每行第一个找到的字符串)。

eg:

:1,$s/root/liudehua/g

:%s/root/liudehua/g

:10,20s/root/liudehua/g

  • 删除

命令模式下,

“x”键,删除光标所在处的单个字符;

“dd”键,删除光标所在行的整行;

“10dd” :删除光标所在行向下10行内容

  • 粘贴

"p" 键: 用来粘贴。被删除的内容可以直接粘贴。

  • 复制

“yy” 用来复制单行,或者在前面加上数字,来复制当前光标所在行的下面多行。

  • 连接两行

“J” 用来将两行连接成一行;

sgsgssgdsgsgsg

aaaaaaaaaaaaa

使用“J” 变为

sgsgssgdsgsgsg aaaaaaaaaaaaa

  • 撤销操作

“u” 键来撤销刚才执行的命令。

5.vim 常用设置

设置参数

含 义

:set nu

:set nonu

设置与取消行号。

:syn on

:syn off

是否依据语法显示相关的颜色帮助。在Vim中修改相关的配置文件或Shell脚本文件 时(如前面示例的脚本/etc/init.d/sshd),默认会显示相应的颜色,用来帮助排错。如果觉得颜色产生了干扰,则可以取消此设置

:set hlsearch

:set nohlsearch

设置是否将査找的字符串高亮显示。默认是hlsearch高亮显示

:set nobackup

:set backup

是否保存自动备份文件。默认是nobackup不自动备份。如果设定了:set backup,则会产生“文件名〜”作为备份文件

:set ruler

:set noruler

设置是否显示右下角的状态栏。默认是ruler显示

:set showmode

:set noshowmode

设置是否在左下角显示如“一INSERT--”之类的状态栏。默认是showmode显示

设置参数实在太多了,可以使用":set all"命令査看所有的设置参数。

6. Vim 多窗口编辑

  • 打开第一个文件后,使用“:sp 另一个文件名” 来水平切分窗口;使用“:vs 另一个文件名” 来垂直切分窗口。
  • 使用 “vim -o 文件1 文件2” 同时打开两个窗口。

“Ctrl+WW”: 来进行窗口切换;

“:r 被复制的文件名” : 将一个文件的内容全部复制到另一个文件中

7. Vim批量注释

:1,10s/^#/g //1-10行加注释#

:1,10s/^#//g //将行首的"#"替换为空,即删除。

表示在第 1~10 行行首加"#"注释。"^"意为行首。"g"表示执行替换时不询问确认。

添加"//"注释要稍微麻烦一些,":起始行,终止行 s/^/\/\//g",因为"/"前面需要加转义字符"\",所以写出来比较奇特,例如:

:1,5s/^/\/\//g

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值