Linux中Vim 命令使用

(一)vim 编辑器简介

vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版。你可以利用别名让输入 vi 命令的时候,实际上执行 vim 编辑器

[root@hepingfly ~]# alias vi='vim'
但是这样定义别名是临时生效,如果需要永久生效,请放置环境变量配置文件    ~/.bashrc   中

(二)vim 基本使用

1.vim 的工作模式

命令模式:是主要输入快捷键的模式。命令模式要想进入输入模式,可以使用 a i o 等快捷键来进入。

插入命令

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

末行模式(编辑模式)

  • :w 保存不退出
  • :w 新文件名 把文件另存为新文件
  • :q 不保存退出
  • :wq 保存退出
  • :! 强制
  • :q! 强制不保存退出,用于修改文件之后,不保存数据退出
  • :wq! 强制保存退出,当文件的所有者或 root 用户,对文件没有写权限的时候,强制写入数据使用

(三)命令模式操作

1.移动光标

(1)上下左右移动光标

上、下、左、右方向键 移动光标
h(左) j(下) k(上) l(右) 移动光标

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

gg 移动到文件头
G 移动到文件尾(shift + g)

(3)光标移动到行首或行尾

^ 移动到行首
$ 移动到行尾

(4)移动到指定行

:n 移动到第几行(这里的 n 是数字)

2.删除或剪切

(1)删除字母

x 删除单个字母
nx 删除 n 个字母(n 是数字,如果打算从光标位置连续删除 10 个字母,可以使用 10x 即可)

(2)删除整行或剪切

dd 删除单行
ndd 删除多行
:n1,n2d 删除指定范围的行

删除行或多行,是比较常用的删除方法。这里的 dd 快捷键既是删除也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,粘贴就是剪切。粘贴方法:

p 粘贴到光标下面一行
P 粘贴到光标上面一行

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

dG 从光标所在行删除到文件尾(d 是删除行,G 是文件尾,连起来就是从光标行删除到文件尾)

3.复制

yy 复制单行
nyy 复制多行

复制之后的粘贴依然可以使用 p 键或 P 键

4.撤销

u 撤销
ctrl + r 反撤销

u 键能一直撤销到文件打开时的状态,ctrl + r 能一直反撤销到最后一次操作状态

5.替换

r 替换光标所在处的字符
R 从光标所在处开始替换字符,按 esc 键结束

(四)末行模式操作

1.一些设置操作

设置参数含义:set nu

:set nonu显示与取消行号:syntax on

:syntax off是否依据语法显示相关颜色帮助。默认会显示相关颜色来帮助排错:set hlsearch

:set nohlsearch设置是否将查找的字符串高亮显示。默认是高亮显示:set showmode

:set noshowmode设置是否在左下角显示如“-INSERT-” 之类的状态栏。默认是开启的:set list

:set nolist设置是否显示隐藏字符。(tab 键用 "^I" 表示,回车符用 "$" 键表示)

注:

  • 上面设置的参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手动建立 vim 的配置文件 ==“~/vimrc”== ,把你需要的参数写入配置文件就永久生效了。
  • Windows 下回车符在 Linux 中是用 “^M$” 显示的,而不是 “$” 。这样会导致 Windows 下编辑的程序脚本(如 shell 脚本),无法在 Linux 中执行。这时可以通过命令 ==「dos2unix」==,把 windows 格式转换为 Linux 格式。同样可以使用 ==「unix2dos」== ,把 Linux 格式转换为 Windows 格式。这两个命令默认没有安装,需要手动安装才能使用。

2.查找

/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上查找
n 下一个
N 上一个

3.替换

:1,10s/old/new/g 替换 1 到 10 行所有 old 为 new(s 表示替换)
:%s/old/new/g 替换整个文件的 old 为 new(% 是一个变量,在这里代表整篇文档)

在 shell 中 "#" 开头是注释,假如说我想注释文件前 10 行,如果手工一个一个注释会很麻烦,可以使用替换来解决。

:1,10s/^/#/g 注释 1 到 10 行
:1,10s/^#//g 取消 1 到 10 行的注释

(五)vim 使用技巧

1.导入其他文件的内容

:r 文件名 把文件内容导入到光标位置
:r /root/aa.txt              #末行模式下,输入这个会把 /root/aa.txt 文件的内容加到你光标所在处

2.在 vim 中执行系统命令

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

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

3.导入命令结果

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

4.多文件打开

在 vim 中可以同时打开两个文件

[root@hepingfly ~]# vim -o aa.txt abcd               上下分屏打开两个文件(小 o)
[root@hepingfly ~]# vim -O aa.txt abcd               左右分屏打开两个文件(大 O)

如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。

如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。

 

posted @ 2023-06-19 11:15  ImreW  阅读(347)  评论(0编辑  收藏  举报