vim基础命令学习

用处

vim是由vi发展演变过来的编辑器,在linux环境下进行编辑处理会非常的方便快捷.

工作模式

vim具有多种工作模式,目前最常用的模式有:普通模式 插入模式 命令模式 三种。

  • 普通模式主要用于光标的移动,文字迅速定位等光标相关大量的快捷键操作
  • 插入模式顾名思义,可以实现文本的基本编辑功能
  • 命令模式用于文件的处理,比如文件保存,退出,显示行号等等

用法

vim的使用方式非常简单,当机器安装了vim之后,只需要vim file_name 即可以使用,如果file_name这个文件存在,则打开,否则就新建一个并进入。

普通模式常用操作

当vim进入文件后,默认是普通模式,即光标移动,文件编辑等操作,一般常用的光标操作有以下这些:

快捷键功能描述
h光标向左移动一位
l光标向右移动一位
j光标向下移动一行
k光标向上移动一行
gg光标移动至文件首
G光标移动至文件末尾
nG光标移动至第n行,如100G,则移动至100行
^光标移动至本行行首
$光标移动至本行行尾
fx光标移动至本行的下一个x字符处
Fx光标移动至本行的上一个x字符处
w光标向右移动一个单词
nw光标向右移动n个单词
b光标向左移动一个单词
nb光标向左移动n个单词
x删除光标当前字符
dd删除光标当前行
ndd删除第n
d$删除当前行光标至行尾的内容
d^删除当前行光标至行首的内容
J删除换行符,可以将两行变为一行
u撤销上一步操作,可多次使用
rx将当前光标指向的字符换成x
yy复制当前行
p粘贴至当前行之后
P粘贴至当前行之前
/x自上向下快速定位内容,如/name,则向下查找name这个字符串,如果有多个,n查找下一个,N查找上一个
?x与/x类似,只是由光标当前指向向上查找

清除全部内容:先gg至行首,然后dG清空全部

当查找到结果时会进行高亮展示,此时如果想取消高亮,则可用:noh 或者随便搜索一个不存在的字符串即可

插入模式及编辑

vim进入插入模式的方式很多,可以有以下几种:

快捷键功能描述
a后续输入的内容将插至当前光标之后
A后续输入的内容将插至当前段落的段尾
i后续输入电脑内容将插至当前光标之前
I后续插入的内容将插至当前段落的段首
o进入插入模式并在当前行的后面创建新的空白行
O进入插入模式并在当前行的前面创建新的空白行

命令模式及常用快捷键

从普通模式下,输入:就进入了命令模式,命令模式用于对于文件本身的一些操作.

快捷键功能描述
:s/root/admin/将当前光标所在行中出现的第一个root换成admin
:s/root/admin/g将当前光标所在行中所有的root换成admin
:3,5s/root/admin/g将3-5行中的所有root换成admin
:%s/root/admin/g将所有行中的root换成admin
:q!不保存,强行退出
:wq保存并退出
:x保存并退出
:w保存
:w x.txt另存文件为x.txt
:set nu/numberp当前文档中临时显示行号,当文件关闭时配置失效
:set ignorecase当前文档中临时忽略大小写,当文件关闭时配置失效
set:enc/encoding设置文件展示编码格式
set:fenc/fileencoding设置文件编码格式
set:fenc/fileencodings在打开文件的时候进行解码的猜测列表
:noh取消高亮

注:文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码,比如我在vimrc中设置的编码相关内容如下:set fileencodings=utf-8,gb2312,gbk,gb18030,则首先会使用utf-8进行解码,如果出错则从头开始,再用gb2312进行解码,如果再错就以此使用gbk/gb18030进行解码,如果都错,那就选用最后一种进行错误渲染

vim常见问题

  1. vim出现乱码
    在自己的vimrc中,如~/.vimrc文件中指定如下编码,具体内容上文已经讲解:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set encoding=prc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值