Vim配置以及操作

目录

一、光标控制

单位级

单词级

块级

二、打开文件、查找内容

在 Vim 中打开文件

文档内查找内容

行内查找

匹配查找

文件历史buffer

三、插入、修改内容

插入内容

删除(并保存到 Vim 剪贴板)

复制、粘贴

粘贴

合并

替换

撤销、重做

保存文件

四、简单设置 Vim

重复上一次命令

缩进

自动排版


一、光标控制

单位级

  • h 向左一字符
  • j 下一行
  • k 上一行
  • l 向右一字符

单词级

  • w or W 向右移动到下一单词开头
  • e or E 向右移动到单词结尾
  • b or B 向左移动到单词开头

块级

  • gg 到文档第一行
  • G 到文档最后一行
  • 0 到行首(第 1 列)
  • ^ 到第一个非空白字符
  • $ 到行尾(end)
  • H 移动到屏幕顶端
  • M 移动到屏幕中间
  • L 移动到屏幕底部
  • Ctrl-d 向下移动半页
  • Ctrl-u 向上移动半页
  • Ctrl-f 向下移动一页
  • Ctrl-b 向上移动一页
  • :<N> or <N>gg 跳转到第 N 行
  • :+<N> or <N>j 向下跳 N 行
  • :-<N> or <N>k 向上跳 N 行

二、打开文件、查找内容

Vim 中打开文件

  • :e <filename> 打开名为 filename 的文件,若文件不存在则创建之
  • :vsp <filename> 将原有vim界面竖直分割并打开名为 filename 的文件,若文件不存在则创建之(sp为水平分割,取消分屏为:only或:q
  • :Ex 在 Vim 中打开目录树,光标选中后回车打开对应文件(提示:- 进入上级目录)
  • gf 将光标定位到文件名的任意位置上 直接敲键盘 gf 
  • 顶端属性栏点击File----open tab 选择文件

文档内查找内容

  • * 向后查找光标当前所在单词
  • # 向前查找光标当前所在单词
  • :/<search> 向后查找指定字符串(:set nohlsearch 将高亮关闭,或搜索一个不存在的单词)
  • :?<search> 向前查找指定字符串
  • n 继续查找下一个
  • N 继续查找上一个

行内查找

  • f<X> 当前行内向行尾方向查找并定位到字符 X
  • t<X> 当前行内向行尾方向查找并定位到字符 X 之前
  • F<X> 当前行内向行首方向查找并定位到字符 X
  • T<X> 当前行内向行首方向查找并定位到字符 X 之后
  • ; 继续向当前方向查找下一个字符
  • , 向当前相反方向查找下一个字符

匹配查找

Vim 中可以使用 %  (  ) ] } 进行匹配查找,当光标位于其中一个 符号上时,按下 %,光标会跳到与之匹配的另外一个符号上。

文件历史buffer

Vim buffer就是当前 Vim session 文件历史记录

  • :使用buffers  :ls 命令查看,:bn 打开缓存中下一个文件
  • :bp 打开缓存中上一个文件
  • :b<N> 打开缓存中第 N 个文件

你也可以使用 :bdelete<N> 来删除所要关闭的缓冲区,缩写 :bd<N>

三、插入、修改内容

插入内容

  • i 当前字符前插入
  • a 当前字符后插入
  • I 行首插入
  • A 行尾插入
  • o 在下一行插入
  • O 在上一行插入

删除(并保存到 Vim 剪贴板)

  • s 删除当前字符,并进入 INSERT 模式
  • S 删除当前行并保存到 Vim 剪贴板,同时进入 INSERT 模式(等同于 cc
  • x 删除当前字符,相当于 insert 模式下的 Delete
  • X 删除前一个字符,相当于 insert 模式下的 Backspace
  • dd 删除当前行,并将删除的内容保存到 Vim 剪贴板
  • d<X> 删除指定内容并保存到 Vim 剪贴板
  • n dd删除光标所在行向下的n行
  • d 1G删除所在行在内到第一行
  • dG删除所在行到最后一行
  • d0删除光标到行首
  • d$删除光标到行尾
  • cc 删除当前行并保存到 Vim 剪贴板,同时进入 INSERT 模式
  • c<X> 删除指定内容并保存到 Vim 剪贴板,同时进入 INSERT 模式
  • 批量删除:进入normal模式ctrl+v 选中要操作的内容进行删除(批量替换同理,选中操作内容后按s进入插入模式,编辑完成esc退出即可)
  • 删除包含text关键字的行

    :g/text/d
  • :删除以 #开的的注释内容。

    :g/^#/d
  • 1、删除行首所有空格:%s/^\s*//g

    2、删除行尾所有空格:  %s/\s*$//g

  • :%s/ /\r/g/ 将文章中所有的空格替换为回车

  • g/^\s*$/d 删除空白行

  • g/[//]/d 删除含有//的行

复制、粘贴

  • yy 复制当前行到 Vim 剪贴板
  • y dd复制光标所在行向下的n行
  • y 1G复制所在行在内到第一行
  • yG复制所在行到最后一行
  • y0复制光标到行首内容
  • y$复制光标到行尾内容
  • 鼠标选中
  • y<X> 复制指定内容到 Vim 剪贴板

粘贴

  • p 在当前位置后粘贴
  • P 在当前位置前粘贴
  • 选中后鼠标中键

合并

  • J 将当前行与下一行合并

替换

  • r<X> 将当前字符替换为 X
  • gu<X> 将指定的文本转换为小写
  • gU<X> 将指定的文本转换为大写
  • :%s/<search>/<replace>/ g 全文查找 search 内容并替换为 replace 内容

撤销、重做

  • u 撤销
  • Ctrl-r 重做

保存文件

  • :w 保存当前文件
  • :wa 保存全部文件
  • :wq or ZZ 保存并退出
  • :q! or ZQ 强制退出,不保存
  • :saveas <new filename> 文件另存为
  • :w <new filename> 文件另存一份名为 <new filename> 的副本并继续编辑原文件

四、简单设置 Vim

Vim的全局配置一般在/etc/vim/vimrc/etc/vimrc,对所有用户生效,个人配置在~/.vimrc如果没有就新建一个, 修改完成执行 :wq 或者 ZZ 保存退出,再次进入 Vim 时,你的这些配置就已经生效了

  • :set number 显示行号
  • :set relativenumber 显示相对行号(这个非常重要,慢慢体会)
  • :set hlsearch 搜索结果高亮
  • :set autoindent 自动缩进
  • :set smartindent 智能缩进
  • :set tabstop=4 设置 tab 制表符所占宽度为 4
  • :set softtabstop=4 设置按 tab 时缩进的宽度为 4
  • :set shiftwidth=4 设置自动缩进宽度为 4
  • :set expandtab 缩进时将 tab 制表符转换为空格
  • :filetype on 开启文件类型检测
  • :syntax on 开启语法高亮

重复上一次命令

. 重复执行上一个命令

缩进

  • >> 向右缩进当前行
  • << 向左缩进当前行

自动排版

  • == 自动排版当前行
  • gg=G 当前文档全文自动排版
  • <N>== 对从当前行开始的 N 行进行自动排版
  • =<N>j 对当前行以及向下 N 行进行自动排版
  • =<N>k 对当前行以及向上 N 行进行自动排版
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值