vim编辑器

发布时间:2024年01月10日

1.vi编辑器介绍

vim是全屏幕纯屏幕纯文本编辑器, 是vi编辑器的增强版. 可以利用别名让输入vi命令时, 实际上执行vim编辑器, 例如:

alias vi = "vim"? ?

#定义别名

这样定义的别名是临时生效, 如果需要永久生效, 请放入环境变量配置文件(~/.bashrc)

2.vim基本的使用

2.1vim的工作模式

vim工作在三种模式之下:

命令模式: 主要使用快捷键的模式, 是学习的重点, 命令模式想要进入输入模式, 可以使用以下方法:

命令作用
a在光标所在字符后插入, 可以理解为追加
A在光标所在行尾插入
i在光标所在字符前插入
I在光标所在行行首插入
o在光标下插入新行
O在光标上插入新行

输入模式: 主要用于文本编辑, 和记事本类似, 输入数据就好

末行模式(编辑模式):

:w? ? 保存不退出

? ? ? ? :w 新文件名? 把文件另存为新文件

:q? ? ?不保存退出

:wq? 保存退出

:!? ? ? 强制

? ? ? ? :q!? ? ? 强制不保存退出, 用于修改文件后, 不保存数据退出

? ? ? ? :wq!? ?强制保存退出, 当文件的所有者或者root用户, 对文件没有写权限的时候, 强制写入数据使用

2.2命令模式操作

2.2.1移动光标

1)上下左右移动光标

方法一: 上下左右方向键

方法二: h, j, k, l(左, 下, 上, 右)

2)把光标移动到文件头或尾

gg: 移动到文件头

G: 移动到文件尾

3)移动到行首或行尾

^: 移动到行首

$: 移动到行尾

4)移动到指定行

:n 数字: 移动到第几行

2.2.2删除或剪切

1)删除字母

x: 删除单个字母

nx: 删除那个字母

n是数字, 如果打算从光标位置删除连续的10个字母, 可以使用"10x", 删除字母并不符合使用的习惯, 更多的是在编辑模式下, 使用Backspace删除字母

2)删除整行或剪切

dd: 删除单行

ndd: 删除多行

:n1, n2d? ? ? 删除指定范围的行

删除整行或者多行, 这是我们常见的删除方式, 这里的dd快捷键既是删除, 也是剪切. 删除内容放入剪切板, 如果不粘贴就是删除, 如果是粘贴就是剪切. 粘贴的方法如下:

p(小写): 粘贴到光标后

P(大写): 粘贴到光标前

3)从光标所在行删除到文件尾

dG: 从光标所在行删除到文件尾

"d"是删除行, "G"是文件尾, 连起来就是从光标所在行删除到文件尾.?

2.2.3复制

yy: 复制单行

nyy: 复制多行

复制之后的粘贴, 依然可以使用p(小写)键或P(大写)键

2.2.4撤销

u: 撤销

ctrl + r: 反撤销

2.2.5替换

r: 替换光标所在处的字符

R: 从贯标所在处开始替换字符, 按ESC结束

r键替换单一字符, 不用进入输入模式, 实际使用时, 比进入输入模式删除后在修改, 要方便

2.2.6vim配置文件

这次末行模式参数设置, 多数需要在vim中才能生效

设置参数含义

:set nu

:set nonu

显示与取消行号

:syntax on

:syntax off

是否依照语法显示相关的颜色帮助. 在Vim中修改相关的配置文件或Shell脚本文件时, 默认会显示相应的颜色, 用来帮助排错. 如果觉得颜色产生了干扰, 可以取消此设置

:set hlsearch

:set nohlsearch

设置是否将查找的字符高亮显示. 默认时set hlsearch高亮显示

:set ruler

:set noruler

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

:set showmode

:set noshowmode

设置是否在左下角小时如"-INSERT-"之类的状态栏. 默认是set showmode

:set list

:set nolist

设置是否显示隐藏字符(Tab键使用"^I"表示, 回车符使用"$"表示). 默认是nolist显示. 如果要使用set list显示隐藏字符, 类似"cat -A 文件名"

vim支持更多的设置参数, 可以通过":set all"进行查看

大家会发现, 这些设置参数都只是临时生效, 一点关闭文件再打开, 又需要重新输入. 如果想要永久生效, 需要手工建立vim的配置文件"~/.vimrc", 把你需要的参数写入配置文件中就可以永久生效了

补充: Windows下回车符在Linux中是用"^M$"符号显示, 而不是"$"符. 这回导致Windows下编辑的程序脚本, 无法在Linux中执行. 这时可以通过命令"dos2unix", 把Windows格式转化尾Linux格式, 当然反过来"unix2dos"命令就是把Linux格式转化为Windows格式. 这两个命令都需要手工安装

2.2.7查找

/查找内容: 从光标所在行向下查找

?查找内容: 从光标所在行向上搜索

n: 下一个

N: 上一个

2.2.8替换

:1, 10s/old/new/g? ? ? ? ? 替换1到10行所有old为new

:%s/old/new/g? ? ? ? ? ? ? ?替换整个文件的old为new

3.vim使用技巧

3.1在vim中导入其他文件内容或命令

3.1.1导入其他文件内容

:r 文件名? ? ? ? ? 把文件内容导入光标位置

可以把其他文件的内容导入光标所在位置

3.1.2在vim中执行系统命令

:!命令? ? ? ? ? ? 在vim中执行系统命令

这里只是在vim中执行系统命令, 但并不把系统命令的结果写入文件中. 主要用于文件编辑中, 查看系统信息

3.1.3导入命令结果

:r !命令? ? ? ? 在vim中执行系统命令, 并把命令结果导入光标所在行

在vim中执行系统命令, 并把命令结果导入光标所在行

3.2设定快捷键

:map 快捷键 快捷键执行的命令? ? ? ? ? ? ? ? ? ?自定义快捷键

vim允许自定义快捷键, 常用的自定义快捷键如下:?

:map ^P?I#<ESC>? ? ? ? 按"ctrl+p"时, 在行首加入注释

:map ^B ^x? ? ? ? ? ? ? ? ? ?按住"ctrl+b", 删除行首第一个字母(删除注释)

注意: ^P快捷键不能手动输入, 需要执行ctrl + V + P来定义, 或者ctrl + V, 然后ctrl + P, ^B快捷键同理

3.3字符替换

:ab 源字符 替换为字符? ? ? ? ? ? ? ? ? ? ? 字符替换

在vim编辑器中, 有时候需要频繁输入某一个长字符串(比如邮箱), 这时使用字符替换, 能增加输入效率, 例如:

:ab mymail songzhenxing@582.com

当需要输入邮箱时, 我们输入mymail + 空格, 就可以替换成邮箱

注意: "源自符"不应设置的太短, 这样可能影响正常使用

3.4多文件打开

在vim中可以同时打开两个文件, 只要执行如下命令:

vim -o 文件名1 文件名2

vim -O 文件名1 文件名2

# -o(小写): 上下分屏打开两个文件

# -O(大写): 会左右分屏打开两个文件

ctrl+w, 然后上下箭头, 或者左右箭头进行不同文件的切换

文章来源:https://blog.csdn.net/fengxia110/article/details/135474415
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。