Linux 使用 vim 编辑器

2023-11-28  本文已影响0人  暴躁程序员

一、vim 编辑器的使用

vim 纯文本编辑器,是 vi 编辑器的增强版,建议使用 vim

vim fileName        // 有文件则进入,没有则创建文件进入

二、vim 三种模式

vim 的三种模式:命令模式、输入模式、编辑模式

  1. 命令模式

控制台输入:vim fileName ,默认进入命令模式,输入以下命令从命令模式进入输入模式

a            // 光标所在字符后插入(追加)
A            // 光标所在行尾处插入
i            // 光标所在字符前插入(插入)
I            // 光标所在行首处插入
o            // 光标下插入新行(新行)
O            // 光标上插入新行
  1. 输入模式

在输入模式下,可执行录入文本等操作,按 ESC 键,从输入模式进入命令模式

  1. 编辑模式

在命令模式下,输入英文冒号:进入编辑模式,编辑模式下的常见命令如下:

w             // 保存不退出
q             // 退出不保存
wq            // 保存并退出(快捷键 shift+zz)
q!            // 强制退出不保存 (用于修改数据后,强制不保存退出)(所有人)
wq!           // 强制保存并退出 (用于文件没有写权限的时候,修改后,保存退出)(管理员和文件当前所属者)

三、命令模式下的常见操作

注意:以下命令都是在命令模式下执行的,不可在插入模式下执行

  1. 控制移动光标
↑ ↓ ← →           // 光标上下左右移动
gg                // 光标移动到文件头
shift + g         // 光标移动到文件尾
^                 // 光标移动到行首
$                 // 光标移动到行尾
:n                // 移动到第几行
  1. 删除、剪切字符
x                 // 删除单个字母
nx                // 删除n个字母
dd                // 删除单行,或者剪切单行
ndd               // 删除多行,或者剪切多行
:nl,n2d           // 删除指定范围内的字符,或者剪切范围内字符
dG                // 从光标所在行删除到行尾,放在行首就是清空文件
  1. 复制(整行)
yy                // 复制光标所在行
nyy               // 复制多行
  1. 粘贴(整行)
p                  // 粘贴到光标前
shift + p          // 粘贴到光标后
  1. 撤销
u                  // 撤销
ctrl+r             // 反撤销
  1. 查找
/查找内容           // 从光标所在处向下查找
?查找内容           // 从光标所在处向上查找
n                  // 下一个
shift + n          // 上一个
  1. 替换
:1,100s/old/new/g          // 替换第一行到第十行的所有old为new
:%s/old/new/g              // 替换整个文件old为new

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

四、vim 常见配置命令

临时修改 vim 编辑器的展示

:set nu                    // 显示行号
:set nonu                  // 取消行号
:syntax on                 // 显示特殊内容颜色
:syntax off                // 不显示特殊内容颜色

五、vim 常见操作

  1. 把其他文件的内容导入到光标位置
    在命令模式下,光标先放在要粘贴的位置,执行
:r /xxx/xxx/文件名         // 把文件内容导入到光标位置
  1. 在 vim 中执行系统命令,且不影响 vim 操作
    在 insert 编辑模式下,输入
:!系统命令                 // 比如,:!date, 在vim编辑器中,使用系统命令,并按任意键返回到vim编辑器中
  1. 将系统命令的结果导入到 vim 编辑器中光标所在位置
:r !命令                    // 比如,:r !date ,将系统时间写入到光标所在位置
  1. 注释快捷键设置

在命令行配置只是临时生效,系统重启将失效,永久生效需要写入配置文件:~/.vimvc 5.

 // 自定义快捷键语法::map 快捷键 快捷键执行的命令
:map ctrl+p I#<ESC>          // 按ctrl+p时,在行首加上 # 注释
:map ctrl+b ctrl+x           // 按ctrl+b时,删除行首第一个字母,取消注释
  1. 字符串模板
    可以把一些常用的长字符串设置成模板,方便编辑时使用,用于提升编辑效率,比如:邮箱
:ab 源字符 替换为字符                 // 字符替换
:ab myemail 872831515@qq.com         // 当在文档中插入 myemail 时,会自动转化为 872831515@qq.com,建议源字符特殊且长一些否则影响编辑

  1. 多文件打开
    在vim中可同时打开多个文件
vim -o /xxx/file1 /xxx/file2         // 小写的o,上下分屏打开两个文件,按ctrl + w 上下箭头进行文件切换
vim -O /xxx/file1 /xxx/file2         // 大写的O,左右分屏打开两个文件,按ctrl + w 左右箭头进行文件切换

六、注意

  1. 当vim编辑器执行的过程中意外关闭了文件,会生成对应文件的.swp文件,再次进入时显示文件已经打开,原因是服务器备份了之前修改的文件
// 解决方式一: 覆盖文件
vim -r 文件名           

// 解决方式二:查看并删除swp文件
ls -la
rm -rf .文件名.swp
  1. 所有命令必须在英文键盘下输入才生效
上一篇 下一篇

猜你喜欢

热点阅读