首页 > 技术交流 > Linux-Vim从入门到精通

Linux-Vim从入门到精通

头像
菜粥
编辑于 2021-03-06 11:38:50 APP内打开
赞 6 | 收藏 18 | 回复2 | 浏览789

1. Vim配置文件

# 命令模式下:

set nu    显示行号
set nonu    不显示行号
  • 在shell里设置,只对本次有效,重启了vim不会生效
  • 所以可以修改配置文件:

    Vim配置文件

    2. 多窗口编辑

    vim -o 第一个文件名  第二个文件名
  • Ctrl+WW可以切换到另一个窗口
  • :r 复制一个文件的内容到另一个文件中

    3. 区域复制

  • 按下Ctrl+V,然后操作上下左右键,进行区域选定
  • 选定区域后,按下y键复制
  • 按下P,可以粘贴

    4. 定义快捷键

    :map  快捷键 执行命令

    5. 在Vim中与Shell交互

    :! 命令
    

例如:
:r !ls -l /root

此时会把ls的输出内容 复制到文本里面

### 6. 文本格式转换
```shell
unix(Linux)转dos(Windows)
unix2dos 源文件名

dos(Windows)转unix(Linux)
dos2unix 源文件名

7. Vim的宏记录

  1. qx q代表宏记录 x代表宏记录的名称
  2. 录制操作
  3. 按Esc回到命令模式,按q退出宏记录模式
  4. 移动到所在行,按下@宏名 ,就可以执行了

    8. ab命令的小技巧

  • ab 替代符 原始信息
  • 这个类似IDEA的sout、psvm等,用过的秒懂

一、Vim的工作模式

1. 命令模式

  • 用vim编辑文件时,默认处于命令模式。
  • 在此模式下,可以使用上下左右箭头或者k j h l进行光标移动
  • 可以对文件内容进行复制、粘贴、替换、删除等

    2. 输入模式

  • 可以对文件执行写操作,类似Windows的记事本
  • 进入输入模式的方法是i、a、o等插入命令
  • 编写完按下Esc可以返回命令模式

    3. 编辑模式

  • 编辑模式可以保存、查找、替换
  • 在命令模式下按“:”,

    二、进入Vim

    1. 使用Vim打开文件

    vim 文件名

    2. 直接进入指定位置

vim +20 文件名
# 直接进入文件第20行

vim +/字符串 文件名
# 直接进入字符串所在行,如果有多个字符串,则第一个

三、Vim的基本使用

1. 插入命令

按键 功能
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向后移动
I 在光标所在行的行首插入随后输入的文本,
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在行的行尾插入随后输入的文本
o 在光标所在行的下面插入新的一行。光标停在空行的行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本

2. 光标移动命令

  • 移动命令需要在命令模式下运行
  1. 以字符为单位移动
    • 上下左右箭头
    • 左h 下j 上k 右l
  2. 以单词为单位移动
    • w 移动光标到下一个单词的单词首
    • b 移动光标到上一个单词的单词首
    • e 移动光标到下一个单词的单词尾
  3. 移动到行尾行首
    • $ 移动光标到行尾
    • n$ 移动到当前光标所在行的之后n行的行尾
    • 0 或 ^ 移动光标到行首
  4. 移动到一行的指定字符处
    • f字符 移动光标到第一个符合条件的字符处
  5. 移动到匹配的括号处
    • % 在匹配的括号间切换
  6. 移动到指定行处
    • nG或:n 移动光标到指定的行

3. 使用Vim进行编辑

  1. 查找指定字符串

    • /要查找的字符串 从光标所在行开始向下查找所需的字符串
    • ?要查找的字符串 从光标所在行开始向上查找所需的字符串
    • :set ic 查找时忽略大小写
  2. 使用Vim进行替换

    • r 替换光标所在处的字符
    • R 从光标所在处开始替换字符,按Esc键结束
  3. 批量替换:

    • 替换范围内的字符串
      • :替换起始处,替换结束处 s/源字符串/替换的字符串/g
    • 替换整篇文档的字符串
      • :% s/源字符串/替换的字符串/g
    1. 使用vim进行删除、粘贴、复制
命令 功能
x 删除光标所在字符
nx 从光标所在位置向后删除n个字符,n为数字
dd 删除整行。如果之后粘贴,则此命令的作用是剪切
ndd 删除多行
dG 删除从光标所在行到文件末尾的内容
D 删除从光标所在处到这行行尾的内容
:起始行,终止行d 删除指定范围的行
yy或Y 复制单行
nyy或nY 复制多行
p 粘贴到当前光标所在行下
P 粘贴到当前光标所在行上
  1. 撤销上一步操作
u   撤销上一步操作

4. 保存退出命令

w    保存不退出

q    不保存退出

!    强制性操作

组合:

wq    保存并退出

w!    强制保存

wq!    强制保存退出

按两下shift+Z ,退出命令模式!

2条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

技术交流近期热帖

近期精华帖

热门推荐